[英]Comment or uncomment js block using gruntjs
如何使用gruntjs在.js文件中自动注释或取消注释某些代码块? 原因是我写了一些东西只是为了前端开发目的(即发送假数据/事件)。 但是在进行部署时,我想确保这些代码已被注释掉,并且真正的ajax事件代码未注释。
让我知道是否有解决方法。 还是我必须为此编写自己的gruntjs。 谢谢
我和迈克尔在一起; 我强烈建议将您的测试代码提取到测试中,这样就永远不会将其删除,并且如果您需要重构,也将为您提供帮助。 Mockjax是专门为此设计的,您可以将其与Qist之类的Gist配对:
我昨晚研究了这个私人项目,发现grunt-template
非常适合此法案。 您可以将代码包装在注释掉的破折号/下划线(如模板块)中,并将在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代码将仍然具有有效的语法,并且无需编译即可运行
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.