Javascript Sails.js:我可以将一些服务/模型打包为npm并将npm加载到Sails.js应用程序中吗?

Javascript 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”根本不能满足它。有没有正确/好的方法来实现它(在两个应用程序中使用相同的模型) 我正在考虑使用钩子来扩展模型,但我找不到好的例子。如有任何意见/信息,将不胜感激 更新 我正

我想创建两个不同的Sails.js应用程序,如hello world和hello world admin。在两个应用中,我想让两个应用使用相同的服务/型号。所以我认为将hello world应用程序中的服务/模型打包为npm,并将其分为两部分加载

但在提升阶段,Sails.js模型必须相应地扩展。所以仅仅使用“require”根本不能满足它。有没有正确/好的方法来实现它(在两个应用程序中使用相同的模型)

我正在考虑使用钩子来扩展模型,但我找不到好的例子。如有任何意见/信息,将不胜感激

更新 我正在尝试使用“可安装挂钩”来扩展模型。我在node_模块中准备了sails hook models包,其中包含index.js

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生成实体自动生成的控制器?