Grunt 中的“验证属性 ___ 存在于配置中”是啥意思?
Posted
技术标签:
【中文标题】Grunt 中的“验证属性 ___ 存在于配置中”是啥意思?【英文标题】:What does "Verifying property ___ exists in config" mean in Grunt?Grunt 中的“验证属性 ___ 存在于配置中”是什么意思? 【发布时间】:2014-12-15 15:22:36 【问题描述】:我有一个用 Coffeescript 编写的简单 Gruntfile:
"use strict"
module.exports = (grunt) ->
config =
src: "app"
dist: "build"
grunt.initConfig =
config: config
copy:
dist:
files: [
expand: true
cwd: "<%= config.app %>"
dest: "<%= config.dist %>"
src: [
"*.ico,png"
"*/*.html"
]
]
grunt.loadNpmTasks "grunt-contrib-copy"
grunt.registerTask "build", [
"copy:dist"
]
grunt.registerTask "default", [
"build"
]
运行时会抛出以下错误:
Verifying property copy.dist exists in config...ERROR
>> Unable to process task.
Warning: Required config property "copy.dist" missing. Use --force to continue.
这也指的是什么?好像 copy.dist 存在,为什么没有被读取?
另外,我认为这是一个 Coffeescript 格式问题,因为用 javascript 编写的等效 Gruntfile 不会引发此问题:
"use strict";
module.exports = function (grunt)
// Configurable paths
var config =
scr: "app",
dist: "build"
grunt.initConfig(
// Project settings
config: config,
copy:
dist:
files: [
expand: true,
cwd: "<%= config.app %>",
dest: "<%= config.dist %>",
src: [
"*.ico,png",
"*/*.html"
]
]
);
// Install plugins
grunt.loadNpmTasks("grunt-contrib-copy");
grunt.registerTask("build", [
"copy:dist"
]);
grunt.registerTask("default", [
"build"
]);
;
【问题讨论】:
【参考方案1】:我在你的配置块中看不到config.app
,我只能看到包含字符串("app"
)的config.src。
所以我会尝试将cwd: "<%= config.app %>"
换成cwd: "<%= config.src %>"
。
希望这会有所帮助。
【讨论】:
谢谢,好收获!不幸的是,同样的错误仍然存在。以上是关于Grunt 中的“验证属性 ___ 存在于配置中”是啥意思?的主要内容,如果未能解决你的问题,请参考以下文章
Node JS - Grunt 任务中的 child_process spawn('npm install') 导致 ENOENT 错误