繁体   English   中英

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

[英]Comment or uncomment js block using gruntjs

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

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

我和迈克尔在一起; 我强烈建议将您的测试代码提取到测试中,这样就永远不会将其删除,并且如果您需要重构,也将为您提供帮助。 Mockjax是专门为此设计的,您可以将其与Qist之类的Gist配对:

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

我昨晚研究了这个私人项目,发现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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM