Sails.js 将节点模块包含为要注入的文件

Sails.js 将节点模块包含为要注入的文件,sails.js,Sails.js,我想将/node\u modules/es6 shim/es6 shim.min.js包含到Sails v0.11的客户端中 我已经尝试将其纳入管道中: var jsFilesToInject = [ // Load sails.io before everything else 'js/dependencies/sails.io.js', /* INCLUDE NODE MODULE */ '/node_modules/es6-shim/es6-shim.min.js', //

我想将
/node\u modules/es6 shim/es6 shim.min.js
包含到Sails v0.11的客户端中

我已经尝试将其纳入管道中:

var jsFilesToInject = [

 // Load sails.io before everything else
 'js/dependencies/sails.io.js',

 /* INCLUDE NODE MODULE */
 '/node_modules/es6-shim/es6-shim.min.js',

 // Dependencies like jQuery, or Angular are brought in here
 'js/dependencies/**/*.js',

 // All of the rest of your client-side js files
 // will be injected here in no particular order.
 'js/**/*.js',

 // Use the "exclude" operator to ignore files
 // '!js/ignore/these/files/*.js'
];

这可能吗?我真的不想使用bower或CDN,我想通过npm安装/更新依赖项。

实现这一点的最简单方法是不使用
pipeline.js
文件,只需在
资产/js
中创建一个指向所需文件的符号链接,例如:

ln -s ../../node_modules/es6-shim/es6-shim.min.js assets/js/es6-shim.min.js
下次运行
sailslift
时,Grunt将在
assets/js
文件夹中看到新的Javascript文件,并与其他文件一起处理

如果出于某种原因这不是一个选项,则需要向
tasks/copy.js
Grunt任务添加一个新的子任务:

    dev_es6: {
        files: [{
            expand: true,
            src: ['./node_modules/es6-shim/es6-shim.min.js'],
            dest: '.tmp/public/js'
        }]
    }
然后将其添加到
tasks/register/compileasets
中的
compileasets
任务中:

module.exports = function (grunt) {
    grunt.registerTask('compileAssets', [
        'clean:dev',
        'jst:dev',
        'less:dev',
        'copy:dev',
        'copy:dev_es6', // <-- adding our new subtask
        'coffee:dev'
    ]);
};
module.exports=函数(grunt){
grunt.registerTask('compileasets'[
"清洁:dev",,
'jst:dev',
'减:dev',
'副本:dev',

‘copy:dev_es6’,//实现这一点的最简单方法是不使用
pipeline.js
文件,只需在
assets/js
中创建一个指向所需文件的符号链接,例如:

ln -s ../../node_modules/es6-shim/es6-shim.min.js assets/js/es6-shim.min.js
下次运行
sailslift
时,Grunt将在
assets/js
文件夹中看到新的Javascript文件,并与其他文件一起处理

如果出于某种原因这不是一个选项,则需要向
tasks/copy.js
Grunt任务添加一个新的子任务:

    dev_es6: {
        files: [{
            expand: true,
            src: ['./node_modules/es6-shim/es6-shim.min.js'],
            dest: '.tmp/public/js'
        }]
    }
然后将其添加到
tasks/register/compileasets
中的
compileasets
任务中:

module.exports = function (grunt) {
    grunt.registerTask('compileAssets', [
        'clean:dev',
        'jst:dev',
        'less:dev',
        'copy:dev',
        'copy:dev_es6', // <-- adding our new subtask
        'coffee:dev'
    ]);
};
module.exports=函数(grunt){
grunt.registerTask('compileasets'[
"清洁:dev",,
'jst:dev',
'减:dev',
'副本:dev',

'copy:dev_es6',//显示文件结构的布局将使此问题更容易回答。显示文件结构的布局将使此问题更容易回答。在copy.js中,应包含
flatte:true
,否则文件的URL将为
http://example.com/js/node_modules/es6-shim/es6-shim.min.js
在copy.js中,您应该包括
flatte:true
,否则文件的URL将为
http://example.com/js/node_modules/es6-shim/es6-shim.min.js