经过几次尝试,我没有想到这是错误。 Grunt没有找到我从npm安装的任何任务。这是我非常基本的package.json:
{
"name" : "MyProject",
"version" : "0.0.1",
"dependencies" : {
"grunt" : "~0.4.5",
"grunt-contrib-watch" : "~0.6.1",
"grunt-contrib-compass" : "~1.0.1",
"grunt-contrib-uglify" : "~0.6.0",
"matchdep" : "~0.3.0"
}
}
运行 npm install
后,我在根文件夹中找到了node_modules文件夹。
我为测试目的创建了一个基本的gruntfile.js,如下所示:
module.exports function(grunt) {
grunt.loadNpmTasks('grunt-contrib-uglify');
grunt.initConfig({
uglify :{
my_target : {
files : {
'/js/script.js' : ['/components/js/script.js']
} //files
} //my_target
} //uglify
}) //initConfig
} // exports
现在,当我从终端移动到我的文件夹后,我运行此命令grunt uglify
。
这是输出:
/var/www/html/lp/gruntfile.js:1
(exports, require, module, __filename, __dirname) { module.exports function(g
^^^^^^^^
Loading "gruntfile.js" tasks...ERROR
>> SyntaxError: Unexpected token function
Warning: Task "uglify" not found. Use --force to continue.
Aborted due to warnings.
关于我做错了什么的任何想法?我实际上是在基于ubuntu的系统上。 提前谢谢。
答案 0 :(得分:0)
尝试注册任务:
grunt.registerTask('default', ['uglify']);
或者可能:
grunt.registerTask('uglify', ['uglify']);
答案 1 :(得分:0)
=
之后你错过了module.exports
。这是Gruntfile.js的清理版本:
module.exports = function(grunt) {
grunt.initConfig({
pkg: grunt.file.readJSON('package.json'),
meta: {
version: '0.1.0'
},
uglify: {
my_target: {
files: {
'/js/script.js': ['/components/js/script.js']
} //files
} //my_target
} //uglify
}); //initConfig
grunt.loadNpmTasks('grunt-contrib-uglify');
}; // exports