12

package.json ファイルから grunt.js に配列を渡す方法はありますか? 私はいくつかの異なる方法を試しましたが、どれもうまくいかないようです。私は現在持っています:

/*global module:false*/
module.exports = function(grunt) {

     // Project configuration.
     grunt.initConfig({
    pkg: '<json:package.json>',

    lint: {
      files: '<%= pkg.lint.join(", ") %>'
    }

    // Default task 'lint qunit concat min'
    grunt.registerTask('default', 'lint');
};

パッケージ.json

{
  "lint": [   
              "grunt.js",
              "test.js"
          ]
}

私が見つけた唯一の解決策は、配列の特定のインデックスを渡すことです。例: <%= pkg.lint[0] %>。よろしくお願いします。

4

3 に答える 3

25

Since gruntjs in run in node you can access the package.json like:

var package = require('./package.json'),
    property = package.property[0];
于 2012-09-14T15:32:44.607 に答える
2

構文 ( Underscore のテンプレート システムの<%= … %>変数補間) は、配列/オブジェクトではなく、文字列のみを出力できると思います。

代わりにこれを試してください:

lint: {
    files: '<config:pkg.lint>'
}

この構文は、Grunt のjQuery init taskで見つけました。

于 2012-09-13T19:26:49.593 に答える
1
grunt.initConfig({
  lint: grunt.file.readJSON('package.json').lint,
});
于 2015-09-09T21:43:00.933 に答える