Grunt - pkg未定义

时间:2016-11-22 20:35:35

标签: javascript node.js asp.net-mvc gruntjs grunt-contrib-concat

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

grunt -v

我收到以下错误消息:

  

验证属性concat.dist存在于配置中...警告:错误   处理模板时发生(pkg未定义)。使用--force   继续。

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

  

pkg.name    在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"
}

1 个答案:

答案 0 :(得分:1)

我怀疑你的Gruntfile缺少一个在你的配置中设置pkg属性的部分。像这样的东西在大多数Gruntfile中都很常见。

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

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