任务"服务"找不到

时间:2015-06-17 09:50:56

标签: angularjs gruntjs

我是Angular的新手,我克隆了一个回购(角度滑块)。我的问题是,当我输入控制台grunt服务时,它会显示警告:任务"服务"未找到。使用--force继续。我一直在搜索互联网,我已经尝试了一切。我不知道哪个是我问题的根源。如果我输入节点-v,控制台给我这个v0.10.33,如果我键入npm -v我得到这个2.11.2我已经有一个Gruntfile.js和一个package.json和bower.json在我的同一级文件夹根项目目录。任何帮助,将不胜感激。

编辑:

这是我的Gruntfile.js

module.exports = function(grunt){
'use strict';

// Project configuration.
grunt.initConfig({
    pkg: grunt.file.readJSON('package.json'),
    srcFiles: [
        'src/rangeInputSupported.js',
        'src/angular-slider.js'
    ],
    concat: {
        prod: {
            src: ['<%= srcFiles %>'],
            dest: 'build/<%= pkg.name %>.js'
        }
    },
    uglify: {
        options: {
            banner: '/*\n <%= pkg.name %> v<%= pkg.version %> \n (c) 2013-2014 Venturocket, Inc. http://github.com/Venturocket \n License: MIT \n*/\n'
        },
        build: {
            src: ['<%= srcFiles %>'],
            dest: 'build/<%= pkg.name %>.min.js'
        }
    },
    jshint: {
        options: {
            jshintrc: true,
            reporter: require('jshint-stylish')
        },
        all: {
            src: [
                'Gruntfile.js',
                'karma.conf.js',
                'src/**/*.js',
                'test/**/*.js'
            ],
            options: {
                force: true
            }
        }
    }
});

// Load the plugin that provides the "uglify" task.
grunt.loadNpmTasks('grunt-contrib-uglify');
grunt.loadNpmTasks('grunt-contrib-jshint');

// Default task(s).
grunt.registerTask('default', ['jshint:all', 'uglify', 'concat:prod']);

grunt.loadNpmTasks('grunt-contrib-concat');

};

我的bower.json看起来像这样:

{
"name": "angular-slider",
"version": "0.3.2",
"main": "./build/angular-slider.js",
"ignore": [
    "**/.*",
    "node_modules",
    "components",
    "lib",
    "src",
    "test",
    ".g*",
    ".editorconfig",
    ".jshintrc",
    ".travis.yml",
    "Gruntfile.js",
    "karma.conf.js",
    "*.html"
],
"dependencies": {
    "angular": "~1.2",
    "angular-touch": "~1.2"
},
"devDependencies": {
    "angular-mocks": "*",
    "angular-scenario": "*"
},
"resolutions": {
    "angular": "v1.2.16"
}
}

3 个答案:

答案 0 :(得分:3)

如果您没有安装grunt,通常会出现这种情况。如果你没有它,你也应该安装凉亭。

尝试像这样安装grunt:npm install -g grunt-cli。此外,您应该在项目文件npm install && bower install中运行,以下载您在项目中所需的所有依赖项。我希望它有所帮助。

答案 1 :(得分:1)

确保您在gruntFile.js中“提供”了registeredTask。

如果它在那里,那么你的系统上可能没有安装grunt。从npm安装grunt-cli以及系统上的bower。这样你的文件夹结构中就有了node_modules。

使用以下命令:

npm install -g grunt-cli
npm install --save
bower install --save

这应该可以解决问题。

答案 2 :(得分:0)

只做

grunt

......靠自己。这将运行“默认”任务

我们可以在GruntFile.js的底部看到你有'默认'任务的定义

grunt.registerTask('default', ['jshint:all', 'uglify', 'concat:prod']);

...我认为这将是启动服务器的那个

我原以为“服务”是一个标准的任务名称(也是别名“server”)但是我看到grunt文件没有定义,而“默认”(只是grunt命令自己)启动服务器。也许这是Angular(?)

的标准配置