不确定我在这里缺少什么。我正在尝试使用其文档中的示例扩展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);
});
};
请注意,两个控制台语句都不会触发。
答案 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
。