Подтвердить что ты не робот

Как передать массив package.json в grunt.js

Есть ли способ передать массив в grunt.js из файла package.json? Я пробовал несколько разных способов, и никто из них, похоже, не работает. В настоящее время у меня есть:

/*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');
};

package.json

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

Единственное решение, которое я смог найти, - это передать определенный индекс массива; например <% = pkg.lint [0]% > . Заранее благодарим за помощь!

4b9b3361

Ответ 1

Так как gruntjs запускается в node, вы можете получить доступ к package.json как:

var package = require('./package.json'),
    property = package.property[0];

Ответ 2

Я думаю, что синтаксис <%= … %> (переменная интерполяция в система шаблонов подчеркивания) может выводить только строки, а не массивы/объекты.

Попробуйте это вместо:

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

Я нашел этот синтаксис в Grunt задача jQuery init.

Ответ 3

grunt.initConfig({
  lint: grunt.file.readJSON('package.json').lint,
});