Grunt - pkg 未定义

Grunt - pkg is not defined

正在执行命令: 默认任务是 concat。

grunt -v

我收到以下错误消息:

Verifying property concat.dist exists in config...Warning: An error occurred while processing a template (pkg is not defined). Use --force to continue.

我猜,pkg就是package.json。 我使用占位符

pkg.name in the Gruntfile.js.

这里有什么问题?

Gruntfile.js 摘录:

 concat: {
            options: {
                // define a string to put between each file in the concatenated output
                separator: ';'
            },
            dist: {
                // the files to concatenate
                src: ['www/**/*.js'],
                // the location of the resulting JS file
                dest: 'www-built/<%= pkg.name %>.js'
            }
        }

package.json

{
  "name": "myprodpackage",
  "version": "0.0.9",
  "devDependencies": {
    "grunt": "^1.0.1",
    "grunt-contrib-concat": "^1.0.1",
    "grunt-contrib-cssmin": "^1.0.2",
    "grunt-contrib-jshint": "^1.0.0",
    "grunt-contrib-qunit": "^1.2.0",
    "grunt-contrib-uglify": "^2.0.0",
    "grunt-contrib-watch": "^1.0.0"
  },
  "description": "test package",
  "main": "Gruntfile.js",
  "dependencies": {
    "bloodhound": "^1.0.0",
    "backbone": "^1.3.3",
    "grunt-contrib-cssmin": "^1.0.2",
    "grunt-contrib-concat": "^1.0.1",
    "grunt-contrib-qunit": "^1.2.0",
    "grunt": "^1.0.1",
    "grunt-contrib-uglify": "^2.0.0",
    "gulp-clean-css": "^2.0.13",
    "grunt-contrib-jshint": "^1.0.0",
    "grunt-contrib-watch": "^1.0.0",
    "lodash": "^4.17.2",
    "gulp-minify": "^0.0.14",
    "gulp-uglify": "^2.0.0",
    "jquery": "^3.1.1",
    "requirejs": "^2.3.2",
    "respond.js": "^1.4.2",
    "text": "^2.0.15",
    "underscore": "^1.8.3"
  },
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "legends",
  "license": "ISC"
}

我怀疑您的 Gruntfile 缺少在您的配置中设置 pkg 属性 的部分。在大多数 Gruntfile 中都可以找到这样的东西。

grunt.initConfig({
  pkg: grunt.file.readJSON('package.json')
});

添加 属性 应该使 pkg.namepackage.json 中的内容相同。