我在AngularJS网络应用程序中使用Grunt Uglify来修改我的javascript和css文件。
我有开发,测试和生产环境。我只想在部署到测试和生产时进行uglify,但在开发中我希望保留我的代码而不使用uglify来使调试任务更容易。
到目前为止,我正在手动做。我的意思是,我有一个带有所有美容代码的index.html,当我要部署一个版本时,我会对代码进行部署并进行部署。
答案 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了解更多详情