我有两个grunt配置,如下所示
grunt.registerTask('default', ['copy','jade','sass','browserify']);
grunt.registerTask('dev',['copy','jade','sass','browserify','watch']);
现在因为我正在使用grunt-contrib-watch
,我需要在
script(src='//localhost:35729/livereload.js')
实时重新加载工作。如何根据生产环境选择添加脚本。有两个index.jade
文件是一个选项,它让我通过这一部分,但有很多其他变量,如api root等依赖于构建环境。在这种情况下,为生产和开发环境构建的最佳实践是什么?
只是为了确定。上面的index.jade
只是一个例子。考虑js代码中的以下行
RestangularProvider.setBaseUrl("http://localhost:3000");
对于开发和生产,参数需要是分开的。拥有两份生产和开发代码副本是完全不合逻辑的。
答案 0 :(得分:0)
我更喜欢使用--build
index.jade
if env.debug
script(src='//localhost:35729/livereload.js')
Gruntfile
module.exports = function(grunt) {
var DEBUG = grunt.option('build') === 'dev';
// Configure Jade to conditionally render livereload.js
// with DEBUG === true
grunt.initConfig({
pug: {
options: {
data: function() {
return {
env: {
debug: DEBUG
}
};
}
}
}
});
}
像
一样使用它grunt dev --build=dev
您可以通过Grunt
传递任何env特定数据grunt --build=dev \
--api-endpoint=/api/foo