使用gruntjs注释或取消注释js块

如何使用gruntjs自动化注释或取消注释.js文件中的某些代码块? 这样做的原因是我为前端开发目的(即发送假数据/事件)编写的东西。 但是当进行部署时,我想确保这些代码被注释掉,并且真正的ajax事件代码被取消注释。

让我知道是否有解决方法。 或者我是否必须为此编写自己的gruntjs。 谢谢

我昨天晚上看了一个个人项目,发现grunt-template很适合这个法案。 你可以在代码中注释掉lo-dash /下划线,就像模板块一样,它将在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某个地方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代码将仍然有有效的语法和运行没有编译

我和迈克尔在一起 我强烈build议将testing代码抽取到testing中,这样它永远不会被删除,如果您需要重构,也会帮助您。 Mockjax是专门为此devise的,你可以像QUnit那样将它与这个Gist配对:

https://gist.github.com/NickJosevski/1564578