Настройка паруса.js: Как сделать модуль узла доступным для всего проекта паруса (контроллер/модель и т. д.)?

Я только начинаю использовать SailsJS в качестве своего первого веб-фреймворка на Node. Допустим, я хочу добавить MomentJS и использовать его во всем приложении. Как это настроить?


person Dida    schedule 28.05.2014    source источник


Ответы (3)


вы можете использовать bootstrap.js (в config/)

как:

module.exports.bootstrap = function (cb) {
  sails.moment = require('moment');

cb();
};

во всех файлах Sails, которые вы можете использовать

sails.moment() 

в настоящее время.

person mdunisch    schedule 28.05.2014
comment
не забудьте запустить npm install moment --save - person Asaf; 27.03.2017

Если вы пытаетесь включить свои node_modules на стороне клиента, такие как jQuery, AngularJS или одну из множества различных библиотек шрифтов, то вы можете npm install их как обычно, но просто чтобы быть уверенным в парусах, вы редактируете свой tasks/config/copy.js и добавляете новый блок, пример:

grunt.config.set('copy', {
    dev: {
        files: [{
            expand:true,
            cwd: './node_modules/font-awesome/fonts',
            src: ['**/*'],
            dest: '.tmp/public/fonts'
        }
    }
});

LESS может быть @imported, как обычно, без копирования. Другие активы необходимо будет скопировать, как указано выше. Если вы используете sails linker, не забудьте также добавить пути JS к tasks/pipeline.js (при необходимости).

Вы можете прочитать больше здесь: http://ash.zi.vc/sails/2016/02/02/включая-client-side-node-modules-in-my-sails-application/

Не совсем очевидно, как синхронизировать модули npm с каталогами, доступными в Интернете.

person zivc    schedule 03.02.2016

SailsJS ничем не отличается от любого другого приложения NodeJS. Итак, поверх вашего (скажем) файла Controller.js вы делаете

var m = require("moment");

И вы можете идти. Метод @mdunisch, очевидно, позволит вам использовать пакет moment во всем приложении, без необходимости делать «require» в каждом файле.

person ericbae    schedule 13.05.2015