配置外部(例如,凉亭)插件

时间:2015-09-13 21:16:01

标签: gruntjs

如何使用配置文件(config.json)更轻松地进行grunt设置

我想在我的config.json中添加/设置所有需要的插件,我想为所有插件创建一个单独的文件,或者为图像分离FOlder

config.json

{
    "images": {
        "pluginA": [
            "./faces/*.jpg"
        ],
        "pluginB": [
            "./corpes/*.jpg"
        ]
    },
    "javascript": {
        "pluginA": [
            "./faces/*.js"
        ],
        "pluginB": [
            "./corpes/*.js"
        ]
    }
}

Gruntfile.js

plugins: grunt.file.readJSON('plugins_config.json')
jshint: {
    development: {
        files: {
            **plugins.javascript**
        }
    }
}

所需的输出

DIST /

  • 图像
    • pluginA
      • faces1.jpg
      • faces2.jpg
    • pluginB
      • corpes1.jpg
      • corpes2.jpg
  • JavaScript的
    • pluginA.js
    • pluginB.js
  • 样式
    • pluginA.css
    • pluginB.css

1 个答案:

答案 0 :(得分:0)

您通常使用方法grunt.config(key)访问grunt配置的方式,因此可以通过grunt.config('plugins')访问您的json文件。 不幸的是,配置对象是由grunt.initConfig初始化的,所以你不能在调用initConfig本身时使用它,这是你需要做的。

您的解决方案是使用单独的本地变量外部 initConfig,而不是配置:

module.exports = function(grunt) {
  var plugins = grunt.file.readJSON('plugins_config.json');
  // ...
  grunt.initConfig({
    jshint: {
        development: {
            files: {
              src: plugins.javascript.pluginA,
            }
        }
    },
  // ...
  });
};