0
我正在学习Sails.js,我有一个问题。 我用“sails generate model site”命令做了一个模型对象。 和我在我的cronjob的config目录中创建了init.js文件。每次启动系统时,cronjob都从这个init.js开始。sails.js模型参考错误
这是init.js
var fs = require('fs'),
sails = require('sails'),
async = require('async');
exports.initSite = function() {
'use strict';
sails.log.debug('init method start!');
async.waterfall([
function (callback) {
Site.find().exec(function (err, sites) {
if (err) {
callback(err);
}
if (sites) {
async.forEachSeries(sites,
function (siteData, callback2) {
siteData.remove(function (err) {
if (err) {
callback(err);
}
callback2();
});
}, function (err) {
if (err) {
callback(err);
}
callback();
});
} else {
callback();
}
});
},
function (callback) {
var jsonData = fs.readFile('./urls.json', 'utf8', function (err, datas) {
if (err) {
callback(err);
}
callback(null, datas);
});
},
function (datas, callback) {
var urls = JSON.parse(datas);
for (var key in urls) {
var value = urls[key];
var site = new Site({
siteId: value.id,
name: value.name,
url: value.url,
category: value.category
});
site.save(function(err){
if (err) {
callback(err);
}
});
}
callback();
}
],function(err){
if (err) {
sails.log.error('ERROR!');
}
sails.log.info('INIT OK');
});
};
和我读到这样从app.js这init.js。
在app.js
require(__dirname + '/config/init').initSite();
,但每次我启动应用程序,控制台消息说的ReferenceError:网站没有定义。
我不知道为什么init.js无法读取“网站(模型对象)”。
你的建议非常感谢我。
(对不起我的英文不好...; _;)
谢谢你的帮助aclave1。我解决了这个问题。我在bootstrap.js中更改了我的代码initSite()。和cronjob的作品。 – user3744647 2014-12-09 04:50:19