我对JS中的任务运行者是新手,这是我对GruntJS的首次尝试。在我的Gruntfile.js中,我保留了jshint
,cssmin
等几个任务。我可以从命令行运行它们,但是当我运行`grunt uglify'时,没有响应,光标移至另一行并持续数小时。也没有显示错误消息。
下面是我的相关代码,因为我看到不同的用户提供了不同的属性集,所以我尝试了各种uglify配置
//uglify:{
// options: {
// mangle : {
// except : ['jQuery', 'angular']
// },
// compress: {
// drop_console : true
// },
// banner: '*****Minified file for Pricing Plan*****',
// footer: '*********File ends**********',
// preserveComments: false
// },
// my_target:{
// options: {
// beautify: true,
// files: {
// 'scripts/pp.min.js': ['scripts/pp.js']
// }
// }
// }
//},
uglify: {
options: {
banner: '*****Minified file for Pricing Plan*****'
},
dist: {
src: 'scripts/pp.js',
dest: 'scripts/pp.min.js'
}
},
grunt.loadNpmTasks('grunt-contrib-uglify');
grunt.registerTask('uglify', ['uglify']);
在命令行上,我正在运行
grunt uglify
有人可以建议这里有什么问题以及纠正方法。
只是在需要时:它是一个Angular1.x.x项目
编辑:我尝试安装uglifyJs并运行
uglifyjs
命令。它成功地使我的代码丑陋并最小化。因此,除了上面我所说的之外,还有什么事情需要做。 最佳答案
但是当我运行“ grunt uglify”时,没有任何反应,光标移至另一行,并保持了几个小时。
问题:
我认为问题与您如何注册uglify
任务有关。下面的代码行:
grunt.registerTask('uglify', ['uglify']); //<-- Issue is here.
解决方法:
使用
grunt.registerTask()
创建Alias Task时,请避免将taskName
命名为与taskList
数组中定义的任何项目/任务相同的名称。grunt.registerTask('minify', ['uglify']); //<-- Correct.
注意:尽管在上面的示例代码中,我将
taskName
更改为minify
,但是它可以是您喜欢的任何有效名称。只要确保您选择的taskName
都不作为taskList
数组中的一项就存在。现在,您可以通过CLI运行修订的已注册
uglify
任务,如下所示:$ grunt minify
Gruntfile.js
这是修改后的
Gruntfile.js
:module.exports = function(grunt) {
grunt.initConfig({
uglify: {
options: {
banner: '/*****Minified file for Pricing Plan*****/'
// ... <-- Your other options
},
dist: {
src: 'scripts/pp.js',
dest: 'scripts/pp.min.js'
}
}
});
grunt.loadNpmTasks('grunt-contrib-uglify');
grunt.registerTask('minify', ['uglify']);
};
(注意:还在横幅字符串中添加了正斜杠,以在结果文件中产生有效的JavaScript注释)
关于javascript - Grunt uglify任务为空白/空闲,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41424680/