如何使用gruntjs自动评论或取消注释.js文件中的某些代码块?原因是我为了前端开发目的(即发送虚假数据/事件)而编写的内容。但是在进行部署时,我想确保这些代码被注释掉,并且真正的ajax事件代码被取消注释。
如果有解决方法,请告诉我。或者我是否必须为此编写自己的gruntjs。感谢
答案 0 :(得分:1)
答案 1 :(得分:1)
我昨晚对这个个人项目进行了调查,结果发现grunt-template
很适合这个法案。您可以将代码包装在注释掉的lo-dash / underscore中,就像模板块一样,它将在grunt编译期间进行评估。
我在项目中使用它的方式如下:
// ....
//concat files for package
template: {
build: {
options: {
data: grunt.file.readJSON('./package.json')
},
files: {
'js/dist/package-<%= pkg.version %>.js': ['js/dist/package-<%= pkg.version %>.js']
}
}
}
// ....
grunt.loadNpmTasks('grunt-contrib-concat');
grunt.loadNpmTasks('grunt-template');
grunt.loadNpmTasks('grunt-contrib-uglify');
grunt.registerTask('default', [
'concat',
'template',
'uglify',
]);
如果我有像
这样的行,那么js/dist/package-<%= pkg.version %>.js
中的某个地方
// <% if(development) { %>
console.log("better remove this line Johnny");
alert("or the clients will be pissed");
// <% } %>
Grunt将评估package.development以确定是否包含此行。非常整洁 - 我用它来排除客户端服务器可能不支持的无意义代码。另一件好事是javascript代码仍然具有有效的语法并且在没有编译的情况下运行