我有这正与0.3,但在突破0.4的grunt.js文件中的一些代码:
{
dest: '<%= process.env.DEST %>/index.html'
}
在0.3过程定义,这样我就可以访问,当我路过如文件路径,以其他插件模板内部的环境中定义的变量。
是否有其他方法来这个将在0.4工作? 还是有办法把一个断点,而模板渲染,这样我可以看到什么变量可用呢?
我有这正与0.3,但在突破0.4的grunt.js文件中的一些代码:
{
dest: '<%= process.env.DEST %>/index.html'
}
在0.3过程定义,这样我就可以访问,当我路过如文件路径,以其他插件模板内部的环境中定义的变量。
是否有其他方法来这个将在0.4工作? 还是有办法把一个断点,而模板渲染,这样我可以看到什么变量可用呢?
默认的数据是配置对象 。 您可以将环境变量添加到配置对象,或直接使用它。
grunt.initConfig({
destination: process.env.DEST,
task: {
target: {
dest: '<%= destination %>/index.html'
}
},
});
要么
grunt.initConfig({
task: {
target: {
dest: process.env.DEST + '/index.html'
}
},
});
这是通过一个的Sindre大直截了当的答案。 或者你可以做(使用咕噜-ENV插件: https://npmjs.org/package/grunt-env ) -
grunt.initConfig({
env : {
test : {
DEST : 'testDEST'
},
dev : {
DEST : 'devDEST'
},
qa : {
DEST : 'qaDEST'
},
prod : {
DEST : 'prodDEST'
}
}
});
grunt.registerTask('setenvs', 'Set environment variables', function() {
grunt.config('ENVS', process.env);
});
然后用
{
dest: '<%= ENVS.DEST %>/index.html'
}
你的任务是 -
grunt.registerTask('default', [
'env:dev',
'setenvs'
'yourTask'
]);
提出的另一种方法只是让你可以使用<%= ... %>
,你不必硬编码在initConfig。 目标ENV你可以从用户的输入,并把它传递给信封