Grunt在开发环境中美化或不美化

时间:2015-11-12 17:58:01

标签: angularjs node.js gruntjs

我在AngularJS网络应用程序中使用Grunt Uglify来修改我的javascript和css文件。

我有开发,测试和生产环境。我只想在部署到测试和生产时进行uglify,但在开发中我希望保留我的代码而不使用uglify来使调试任务更容易。

到目前为止,我正在手动做。我的意思是,我有一个带有所有美容代码的index.html,当我要部署一个版本时,我会对代码进行部署并进行部署。

1 个答案:

答案 0 :(得分:1)

使用grunt.registerTask函数创建任务以在开发时运行任务,并使用其他任务在部署之前运行任务。

以下是一个例子:

在开发环境中,我正在运行buildDev任务来编译scss文件并将它们链接到模板文件

module.exports = function(grunt) {
    grunt.registerTask('buildDev', [
        'sass:website',
        'asset-linker:websiteCSS',
        'asset-linker:websiteJS',
    ]);
};

在prod中部署我的应用程序之前,我运行buildProd任务来运行其他任务,如concat,cssmin,uglify:

module.exports = function(grunt) {
    grunt.registerTask('buildProd', [
        'clean:websiteStatic',
        'sass:website',
        'concat:websiteCSS',
        'concat:websiteJS',
        'cssmin:website',
        'uglify:website',
        'asset-linker:prodWebsiteCSS',
        'asset-linker:prodWebsiteJS',
    ]);
};

然后,创建两个注册任务,一个用于在您的开发环境中运行任务,另一个用于部署您的应用程序。

我建议您阅读Grunt Documentation - register task了解更多详情