自定义目录包含JS和CSS文件

时间:2015-08-01 19:15:18

标签: javascript node.js gruntjs sails.js

我有一个来自themeforest的主题,其中有一个plugins/目录,其中包含20-30个目录,其中包含js/css/个文件夹。

所以我需要一个名为js/的默认风帆styles/plugins/之外的文件夹,然后将其包含在grunt版本中。

我试图复制通常的jsFilesToInject并用它来复制它:

var plugInJSFilesToInject = [
   // All of the rest of your client-side js files
   // will be injected here in no particular order.
   'plugins/**/*.js'
];

然后在sails-linker:devJs中指定它,如此:

devJs: {
        options: {
                startTag: '<!--SCRIPTS-->',
                endTag: '<!--SCRIPTS END-->',
                fileTmpl: '<script src="%s"></script>',
                appRoot: '.tmp/public'
        },
        files: {
                '.tmp/public/**/*.html': require('../pipeline').jsFilesToInject,
                'views/**/*.html': require('../pipeline').jsFilesToInject,
                'views/**/*.ejs': require('../pipeline').jsFilesToInject,
                '.tmp/public/**/*.html': require('../pipeline').plugInJSFilesToInject,
                'views/**/*.html': require('../pipeline').plugInJSFilesToInject,
                'views/**/*.ejs': require('../pipeline').plugInJSFilesToInject
        }
},

运行sails lift时收到此错误:

------------------------------------------------------------------------
Aborted due to warnings.
Running "sails-linker:devJs" (sails-linker) task
Warning: Cannot read property 'indexOf' of undefined

这也需要在css/目录中完成,这就是为什么我绝对需要在js/styles目录之外。

1 个答案:

答案 0 :(得分:1)

我最后只是将plugins/放在同一个jsFilesToInject数组中,因为它没有理由不能进入那里:

var plugInJSFilesToInject = [
  // All of the rest of your client-side js files
  // will be injected here in no particular order.
  'js/**/*.js',
   // Plugins go here
  'plugins/**/*.js'
];