咕噜找不到任务

时间:2014-12-04 21:42:32

标签: ubuntu gruntjs

经过几次尝试,我没有想到这是错误。 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的系统上。 提前谢谢。

2 个答案:

答案 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