找不到错误 "Warning: Task "uglify“未找到”的解决方案
Cant find a solution for error "Warning: Task "uglify" not found"
这是我的 gruntfile.js:
module.exports = function(grunt) {
require('load-grunt-tasks')(grunt);
grunt.initConfig({
uglify: {
start: {
files: {
'js/script.min.js': ['js/script.js'],
}
}
},
imagemin: {
build: {
options: {
optimizationLevel: 3
},
files: [{
expand: true,
src: ['img/sprite_svg/*.svg'],
}]
}
},
svgstore: {
options: {
includeTitleElement: false,
svg: {
style: 'display:none',
},
cleanup: [
'fill',
],
},
default : {
files: {
'img/sprite.svg': ['img/sprite_svg/*.svg'],
},
},
},
watch: {
livereload: {
options: { livereload: true },
files: ['build/**/*'],
},
scripts: {
files: ['js/script.js'],
tasks: ['js'],
options: {
spawn: false
},
},
images: {
files: [
'img/sprite_svg/*.svg'
],
tasks: ['img'],
options: {
spawn: false
},
},
html: {
files: ['./index.html'],
// tasks: ['html'],
options: {
spawn: false
},
},
},
browserSync: {
dev: {
bsFiles: {
src : [
'img/sprite.svg',
'./index.html',
]
},
options: {
watchTask: true,
server: {
baseDir: "./",
},
startPath: "index.html",
ghostMode: {
clicks: true,
forms: true,
scroll: false
}
}
}
}
});
grunt.loadNpmTasks('grunt-contrib-uglify');
grunt.loadNpmTasks('grunt-contrib-imagemin');
grunt.registerTask('default', [
'js',
'img',
'browserSync',
'watch'
]);
grunt.registerTask('js', [
'uglify'
]);
grunt.registerTask('img', [
'imagemin',
'svgstore'
]);
};
我已经安装了 uglify 和 imagemin npm 包,但我仍然遇到错误:
警告:找不到任务 "uglify""
这在我添加 svgstore 之前一直有效,我认为这可能是一个语法错误。然而,这是我第一次使用它,我根本不知道是什么导致了这个问题。任何帮助将不胜感激。
两个数组的最后一项后有多余的逗号
grunt.registerTask('js', [
'uglify', // <-- remove this comma
]);
grunt.registerTask('img', [
'imagemin',
'svgstore', // <-- remove this comma too
]);
你的 package.json 文件里有什么?
"load-grunt-tasks" 从 package.json 中的 "dependencies" 和 "devDependencies" 读取,因此您不必调用 "grunt.loadNpmTasks".
此外,您应该安装 "grunt-contrib-uglify" 而不是 "uglify"。
这是我的 gruntfile.js:
module.exports = function(grunt) {
require('load-grunt-tasks')(grunt);
grunt.initConfig({
uglify: {
start: {
files: {
'js/script.min.js': ['js/script.js'],
}
}
},
imagemin: {
build: {
options: {
optimizationLevel: 3
},
files: [{
expand: true,
src: ['img/sprite_svg/*.svg'],
}]
}
},
svgstore: {
options: {
includeTitleElement: false,
svg: {
style: 'display:none',
},
cleanup: [
'fill',
],
},
default : {
files: {
'img/sprite.svg': ['img/sprite_svg/*.svg'],
},
},
},
watch: {
livereload: {
options: { livereload: true },
files: ['build/**/*'],
},
scripts: {
files: ['js/script.js'],
tasks: ['js'],
options: {
spawn: false
},
},
images: {
files: [
'img/sprite_svg/*.svg'
],
tasks: ['img'],
options: {
spawn: false
},
},
html: {
files: ['./index.html'],
// tasks: ['html'],
options: {
spawn: false
},
},
},
browserSync: {
dev: {
bsFiles: {
src : [
'img/sprite.svg',
'./index.html',
]
},
options: {
watchTask: true,
server: {
baseDir: "./",
},
startPath: "index.html",
ghostMode: {
clicks: true,
forms: true,
scroll: false
}
}
}
}
});
grunt.loadNpmTasks('grunt-contrib-uglify');
grunt.loadNpmTasks('grunt-contrib-imagemin');
grunt.registerTask('default', [
'js',
'img',
'browserSync',
'watch'
]);
grunt.registerTask('js', [
'uglify'
]);
grunt.registerTask('img', [
'imagemin',
'svgstore'
]);
};
我已经安装了 uglify 和 imagemin npm 包,但我仍然遇到错误: 警告:找不到任务 "uglify""
这在我添加 svgstore 之前一直有效,我认为这可能是一个语法错误。然而,这是我第一次使用它,我根本不知道是什么导致了这个问题。任何帮助将不胜感激。
两个数组的最后一项后有多余的逗号
grunt.registerTask('js', [
'uglify', // <-- remove this comma
]);
grunt.registerTask('img', [
'imagemin',
'svgstore', // <-- remove this comma too
]);
你的 package.json 文件里有什么?
"load-grunt-tasks" 从 package.json 中的 "dependencies" 和 "devDependencies" 读取,因此您不必调用 "grunt.loadNpmTasks".
此外,您应该安装 "grunt-contrib-uglify" 而不是 "uglify"。