如何将参数传递给grunt.file.readJSON?

use*_*473 2 gruntjs

我想将参数传递给我的Gruntfile.js,以便grunt.file.readJSON可以读取传入的文件名.我该怎么办?

  grunt.initConfig({
    filename: grunt.option('filename'),
    config: grunt.file.readJSON('<%= filename %>'),
    ... ... ... 
  });
Run Code Online (Sandbox Code Playgroud)

以上不起作用.

> grunt build-dev --filename=test.json
Loading "Gruntfile.js" tasks...ERROR
>> Error: Unable to read "<%= filename %>" file (Error code: ENOENT).
Run Code Online (Sandbox Code Playgroud)

Kyl*_*ung 5

Grunt模板仅在Grunt配置中工作.grunt.file.readJSON是一个函数,它接受一个参数而不处理模板模式.

而只是从指定的文件路径读取JSON文件并将该对象提供给Grunt配置(这意味着JSON文件可以包含Grunt模板模式).

请尝试以下方法:

grunt.initConfig({
  filename: grunt.option('filename'),
  config: grunt.file.readJSON(grunt.option('filename')),
  // ... ... ... 
});
Run Code Online (Sandbox Code Playgroud)