Strongloop Loopback内置模型扩展未被调用

时间:2015-08-01 18:30:33

标签: loopbackjs

不确定我在这里缺少什么。我正在尝试使用其文档中的示例扩展Loopback中的内置用户模型:http://docs.strongloop.com/display/public/LB/Extending+built-in+models#Extendingbuilt-inmodels-ExtendingamodelinJavaScript

我创建的文件./common/models/user.js永远不会被应用程序加载,但这当然意味着我的扩展代码永远不会被调用。有没有正确的方法来做到这一点,因为文档错了?这就是我现在所拥有的(不是因为文件永远不会被框架加载所以它是相关的):

console.log('User.js file being loaded');
module.exports = function(User){
  User.on('attached', function(){
    console.log(User);
  });
};

请注意,两个控制台语句都不会触发。

1 个答案:

答案 0 :(得分:2)

您是否完成了model-config.json设置?那里会有一个User条目,您需要添加一个小写user条目才能加载扩展模型。

...
// built-in User model
"User": {
  "dataSource": "db"
},
// extends user 
"user": {
  "dataSource": "db"
}
...

您还需要一个user.json文件,指定它将扩展内置的User模型(您可以在{{1}中找到内置的User.json和.js }})使用node_modules/loopback/common/models/

"base": "User"

但我建议使用除小写用户之外的其他名称来扩展大写用户,因为很容易混淆这两者。我个人使用{ "name": "user", "base": "User", // will include all User props "idInjection": true, "properties": { "pincode": { "type": "number" // only add new props here } }, "validations": [], "relations": {}, "acls": [], "methods": [] } Player(使用自定义复数Person)代替People