从grunt模板访问进程/环境
Accessing the process / environment from a grunt template
我在grunt.js文件中有一些代码,它在0.3上工作,但在0.4上中断:
{
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的回答非常直接。或者你可以这样做(使用grunt-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中硬编码它。
相关文章:
- 难以访问的JS环境中的语法错误
- 键入环境安装不起作用
- 在node.js中设置Apache环境变量
- 节点分叉子进程并获取它's错误
- 子进程未接收消息
- 我想放慢html中进程栏的速度
- 派生进程的stdout在管道传输时工作异常
- 定时Ajax进程在用户离开页面后继续
- 能够在指向本地环境的浏览器中设置JavaScript断点
- Rally SDK外部开发Rally环境未定义
- 事件循环的MEAN.JS setInterval进程(从另一个服务器获取数据)
- 如何在词法环境中管理块范围
- 可以'无法正确访问NODE_ENV环境变量,这是NODE.js的错误吗
- 从已经运行的进程打开chrome扩展的背景页
- 用于本地主机上进程间通信的Javascript中的UDP
- 不同进程之间共享Node.js环境
- 无法使用进程.获取~/中的环境变量.配置文件或~/.Mac中的bash_profile
- 使用Windows脚本复制子进程环境
- Node.js设置进程.测试中的环境变量
- 从grunt模板访问进程/环境