执行命令: 默认任务是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"
}
答案 0 :(得分:1)
我怀疑你的Gruntfile缺少一个在你的配置中设置pkg
属性的部分。像这样的东西在大多数Gruntfile中都很常见。
grunt.initConfig({
pkg: grunt.file.readJSON('package.json')
});
添加该属性应使pkg.name
与package.json
中的内容相同。