我正在使用sailjs,我目前正在构建一些简单的引导逻辑,用于检查现有记录,并在必要时创建一些默认数据。这一切都运作良好。
我试图弄清楚(也许它更像是一个节点问题),我该如何将该逻辑移动到一个单独的节点模块中?
逻辑目前看起来如下;
list view
这一切都正常。但是,我想要做的是将Roles的逻辑完全转移到一个单独的javascript文件中。喜欢的东西;
module.exports.bootstrap = function (cb) {
Role.count().exec(function (err, numRoles) {
if (err) {
return cb(err);
}
if (numRoles > 0) {
return cb();
}
//create the default role records;
var roles = [];
roles.push({
"cd": "admin",
"name": "Admin",
"description": "Admin user of the system"
},
{
"cd": "normal",
"name": "normal",
"description": "Standard user of the system"
});
Role.create(roles).exec(function(err, records) {
if(err) {
return cb(err);
}
return cb();
});
}
使用RoleBootstrap看起来像
var roleBootstrap = require('roleBootstrap');
module.exports.bootstrap = function (cb) {
roleBootstrap.defaultRecords().exec(function(err) {
if (err) { return cb(err);}
return cb();
} );
}
我一直得到异常细节:错误:无法找到模块' ./ services / RoleBootstrap.js'当试图做风帆升降机
任何见解/建议/等都将非常感激。知道如何做这样的事情会有所帮助。
我确实考虑过将defaultData方法添加到Role模型本身..但我仍然想知道如何创建类似上面的内容。
谢谢, 迪安。