我正在使用 grunt
来制作构建工具,到目前为止,我将 src
和 dest
地址直接放在我的 grunt.js 文件中但在这种情况下,如果我想更改我的目标,我必须更改文件的每个任务,这不是一个好的做法。例如,如果我的 grunt.js 文件具有以下任务:
concat: {
js: {
src: 'src/js/*.js',
dest: 'dest/js/concat.js'
},
css: {
src: 'src/css/*.css',
dest: 'dest/css/concat.css'
}
},
min: {
js: {
src: 'dest/js/concat.js',
dest: 'dest/js/concat.min.js'
}
},
如果我改变我的地址,我就必须在每个地方改变! 我想要一个 JSON 文件,可以在其中声明 src 和 dest 并在 grunt.js 文件中调用。我们怎样才能做到这一点???
最佳答案
您可以将属性添加到 package.json
例如声明元数据
{
"name": "test",
"meta":{
"src":"someSrcFolder",
"dest":"someDestFolder"
},
....
}
然后在你的Gruntfile.js
中,你可以像这样阅读这些属性
grunt.initConfig({
pkg: '<json:package.json>',
concat: {
js: {
src: '<%= pkg.meta.src %>/js/*.js',
dest: '<%= pkg.meta.dest %>/js/concat.js'
},
css: {
src: '<%= pkg.meta.src %>/css/*.css',
dest: '<%= pkg.meta.dest %>/css/concat.css'
}
}
});
重要的位是pkg:<json:package.json>
它将 json 文件加载到内存中,并使用下划线模板插值 <%= pkg.meta.src %>
其计算结果为 meta
的内容属性已添加到 json 文件。
请记住,Gruntfile 只是一个 JavaScript 文件,因此您还可以拥有一个引用路径的对象,然后将它们插入到您的任务中。
关于javascript - 如何制作一个 JSON 来将 src 和 dest 地址放入其中,并且我们可以在 grunt.js 中调用该 JSON?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13866655/