Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/363.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 我可以使用grunt在json文件中设置属性值吗?_Javascript_Json_Gruntjs - Fatal编程技术网

Javascript 我可以使用grunt在json文件中设置属性值吗?

Javascript 我可以使用grunt在json文件中设置属性值吗?,javascript,json,gruntjs,Javascript,Json,Gruntjs,仍在学习咕噜的诀窍,但找不到解决办法。 我有一个配置文件,比如config.json和一些数据 当我运行一个特定的grunt任务时,我想在config.json文件中增加一个值。我已经找到了很多关于如何读取文件的信息,但是到目前为止还没有找到任何关于更改值的信息 谢谢。您可以使用替换字符串和保存文件 'string-replace': { dist: { files: { 'dest/': 'src/**', 'prod/': ['src/*.js', 'sr

仍在学习咕噜的诀窍,但找不到解决办法。 我有一个配置文件,比如config.json和一些数据

当我运行一个特定的grunt任务时,我想在config.json文件中增加一个值。我已经找到了很多关于如何读取文件的信息,但是到目前为止还没有找到任何关于更改值的信息

谢谢。

您可以使用替换字符串和保存文件

'string-replace': {
  dist: {
    files: {
      'dest/': 'src/**',
      'prod/': ['src/*.js', 'src/*.css'],
    },
    options: {
      replacements: [{
        pattern: /\/(asdf|qwer)\//ig,
        replacement: '"$1"'
      }, {
        pattern: ',',
        replacement: ';'
      }]
    }
  }
}
有了这个grunt插件,你可以用替换来替换正则表达式模式(或简单的字符串)

制作最终json的步骤如下:

  • 加载json文件>>
  • 在顶部应用替换任务>>
  • 保存json文件>>grunt.file.write(文件路径,内容[,选项])
您可以使用替换字符串和保存文件

'string-replace': {
  dist: {
    files: {
      'dest/': 'src/**',
      'prod/': ['src/*.js', 'src/*.css'],
    },
    options: {
      replacements: [{
        pattern: /\/(asdf|qwer)\//ig,
        replacement: '"$1"'
      }, {
        pattern: ',',
        replacement: ';'
      }]
    }
  }
}
有了这个grunt插件,你可以用替换来替换正则表达式模式(或简单的字符串)

制作最终json的步骤如下:

  • 加载json文件>>
  • 在顶部应用替换任务>>
  • 保存json文件>>grunt.file.write(文件路径,内容[,选项])

下面是一个使用grunt任务更新package.json文件版本的示例。(从0.0.0到1.0.0到2.0.0)

现在,您可以调用任务版本,通过编写

grunt version
也可以将其添加到生产流程中,例如:

module.exports = function(grunt) {
    grunt.registerTask('buildProd', [
      'version'
    ]);
};

下面是一个使用grunt任务更新package.json文件版本的示例。(从0.0.0到1.0.0到2.0.0)

现在,您可以调用任务版本,通过编写

grunt version
也可以将其添加到生产流程中,例如:

module.exports = function(grunt) {
    grunt.registerTask('buildProd', [
      'version'
    ]);
};

我根据他的答案找到了一个解决方案

我阅读了JSON文件,进行了更改,然后使用修改后的JSON编写了一个新文件,替换了整个文件,如下所示:

var mrJSON = grunt.file.readJSON('myDir/config.json');

    var mrNumber  = mrJSON.number;

    mrNumber++;


    grunt.file.write('myDir/config.json', JSON.stringify(mrJSON));

我根据他的答案找到了一个解决方案

我阅读了JSON文件,进行了更改,然后使用修改后的JSON编写了一个新文件,替换了整个文件,如下所示:

var mrJSON = grunt.file.readJSON('myDir/config.json');

    var mrNumber  = mrJSON.number;

    mrNumber++;


    grunt.file.write('myDir/config.json', JSON.stringify(mrJSON));

欢迎来到堆栈溢出!虽然这个代码片段可以解决这个问题,但它确实有助于提高文章的质量。请记住,您将在将来回答读者的问题,这些人可能不知道您的代码建议的原因。还请尽量不要用解释性注释挤满你的代码,这会降低代码和解释的可读性!谢谢,我希望有一种方法可以将属性值写入json,就像grunt可以读取值一样,但这似乎是唯一的方法。欢迎使用Stack Overflow!虽然这个代码片段可以解决这个问题,但它确实有助于提高文章的质量。请记住,您将在将来回答读者的问题,这些人可能不知道您的代码建议的原因。还请尽量不要用解释性注释挤满你的代码,这会降低代码和解释的可读性!谢谢,我希望有一种方法可以将属性值写入json,就像grunt可以读取值一样,但这似乎是唯一的方法。对于这个任务,一个可爱的grunt工具就是这个任务的一个可爱的grunt工具