Javascript 我可以使用grunt在json文件中设置属性值吗?
仍在学习咕噜的诀窍,但找不到解决办法。 我有一个配置文件,比如config.json和一些数据 当我运行一个特定的grunt任务时,我想在config.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
'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 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工具