Javascript Sails.js:我可以将一些服务/模型打包为npm并将npm加载到Sails.js应用程序中吗?
我想创建两个不同的Sails.js应用程序,如hello world和hello world admin。在两个应用中,我想让两个应用使用相同的服务/型号。所以我认为将hello world应用程序中的服务/模型打包为npm,并将其分为两部分加载 但在提升阶段,Sails.js模型必须相应地扩展。所以仅仅使用“require”根本不能满足它。有没有正确/好的方法来实现它(在两个应用程序中使用相同的模型) 我正在考虑使用钩子来扩展模型,但我找不到好的例子。如有任何意见/信息,将不胜感激 更新 我正在尝试使用“可安装挂钩”来扩展模型。我在node_模块中准备了sails hook models包,其中包含index.jsJavascript Sails.js:我可以将一些服务/模型打包为npm并将npm加载到Sails.js应用程序中吗?,javascript,node.js,sails.js,waterline,Javascript,Node.js,Sails.js,Waterline,我想创建两个不同的Sails.js应用程序,如hello world和hello world admin。在两个应用中,我想让两个应用使用相同的服务/型号。所以我认为将hello world应用程序中的服务/模型打包为npm,并将其分为两部分加载 但在提升阶段,Sails.js模型必须相应地扩展。所以仅仅使用“require”根本不能满足它。有没有正确/好的方法来实现它(在两个应用程序中使用相同的模型) 我正在考虑使用钩子来扩展模型,但我找不到好的例子。如有任何意见/信息,将不胜感激 更新 我正
module.exports = function(sails) {
return {
defaults: {
},
initialize: function(cb) {
var ModelA = require('./models/ModelA');
ModelA.identity = 'modela';
ModelA.globalid = 'ModelA';
var ModelB = require('./models/ModelB');
ModelB.identity = 'modelb';
ModelB.globalid = 'ModelB';
sails.models['modela'] = ModelA;
sails.models['modelb'] = ModelB;
return cb();
},
};
帆升起后,模型通过吃水线进行了扩展,因此我可以通过Sails.models['modela']调用Model的方法。我不确定这是不是一个好办法。。请告诉我您是否有其他选择/更好的方法。是的,并且已经有一种方法可以做到这一点:。定义要安装的服务/模型/控制器等的清单
这里有一个例子:是的,使用项目来完成这项工作。你应该展示你尝试了什么。如果我试图使用可安装的挂钩,请查看上面更新的部分。你检查过这些文档了吗:?Travis,谢谢。SAIL生成实体允许我们生成服务/模型/控制器等,这些服务/模型/控制器等继承特定NPM中的超类,对吗?这是否低于通过sails生成实体自动生成的控制器?