未调用 Strongloop Loopback 内置模型扩展
Strongloop Loopback built-in model extension not being called
不确定我在这里遗漏了什么。我正在尝试使用其文档中的示例扩展 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);
});
};
请注意,两个控制台语句都不会触发。
您是否完成了模型-config.json 设置?那里已经有一个 User
条目,您需要添加一个小写的 user
条目才能加载您的扩展模型。
...
// built-in User model
"User": {
"dataSource": "db"
},
// extends user
"user": {
"dataSource": "db"
}
...
您还需要一个 user.json
文件,指定它将扩展内置的 User
模型(您可以在 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
)而不是 user
.
不确定我在这里遗漏了什么。我正在尝试使用其文档中的示例扩展 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);
});
};
请注意,两个控制台语句都不会触发。
您是否完成了模型-config.json 设置?那里已经有一个 User
条目,您需要添加一个小写的 user
条目才能加载您的扩展模型。
...
// built-in User model
"User": {
"dataSource": "db"
},
// extends user
"user": {
"dataSource": "db"
}
...
您还需要一个 user.json
文件,指定它将扩展内置的 User
模型(您可以在 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
)而不是 user
.