【问题标题】:Task "serve" not found找不到任务“服务”
【发布时间】:2015-06-17 09:50:56
【问题描述】:

我是 Angular 的新手,我已经克隆了一个 repo(角度滑块)。我的问题是,当我输入控制台 grunt serve 时,它​​显示警告:找不到任务“服务”。使用 --force 继续。我一直在通过互联网搜索,我已经尝试了一切。我不知道这是我问题的根源。如果我输入 node -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"
}
}

【问题讨论】:

  • 运行 grunt --help 你会看到可用的任务。有可能是调用服务器。
  • 如果我输入 grunt --help 控制台会告诉我作为可用任务,我只有 uglify、jshint、default 和 concat。如何包含服务任务??

标签: angularjs gruntjs


【解决方案1】:

如果您没有安装 grunt,这通常会出现。如果你没有 bower,你也应该安装它。

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

【讨论】:

  • 当我执行 npm install && bower install 时,控制台要求我为 angular 选择一个版本,但我不确定我应该选择哪个版本 => bower resolution 为 angular 声明的不合适的分辨率:v1. 2.16 无法找到适合 angular 的版本,请选择一个: 1) angular#~1.2 解析为 1.2.28 并且 angular-slider 需要 2) angular#1.2.28 解析为 1.2.28 并且需要angular-touch#1.2.28 3) angular#1.4.1 解析为 1.4.1,并且是 angular-mocks#1.4.1、angular-scenario#1.4.1 所必需的坚持到 bower.json ?答:
  • 在每个版本附近,它会说明哪个组件需要该版本。您需要选择需要您的角度模块的版本。如果你的 Angular 模块被命名为“moduleX”,你会看到那里的版本: angular 1.4.x (x = any number or something) - “moduleX”
【解决方案2】:

确保您的 gruntFile.js 中有“服务”注册任务。

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

使用以下命令:

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

这应该可以解决问题。

【讨论】:

  • Vaibhav 我已经编辑了我的问题,向您展示我的 gruntfile.js 。我已经看到我有 grunt.registeredTask 但里面没有服务 => grunt.registerTask('default', ['jshint:all', 'uglify', 'concat:prod']);可能我必须在参数中添加“服务”吗??
  • 是的,必须有类似以下的任务:grunt.registerTask('serve', ['jshint:all', 'uglify', 'concat:prod']);
  • 什么都没有。当我键入 grunt serve 时,控制台会返回此 Running "jshint:all" (jshint) task src/angular-slider.js line 802 col 42 'offsetFromValue' 已定义但从未使用过。 ✖ 1 个问题 运行“uglify:build”(uglify)任务文件“build/angular-slider.min.js”创建。运行“concat:prod”(concat)任务文件 build/angular-slider.js 创建。完成,没有错误。但它什么也没做......它没有告诉我使用哪个端口或打开浏览器
【解决方案3】:

做事

grunt

...独自一人。这将运行“默认”任务

我们可以在 GruntFile.js 的底部看到您定义了“默认”任务

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

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

我曾认为“服务”是一个标准任务名称(也有别名“服务器”),但我看到未定义这些的 gruntfiles,以及“默认”(只是其上的 grunt 命令own) 启动服务器。也许这是 Angular(?) 的标准配置

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-02
    • 1970-01-01
    • 2021-12-23
    相关资源
    最近更新 更多