截至今日的Yeoman新手。我正在构建一个生成器,它将创建一个新的package.json,其中包含有助于构建应用程序Gruntfile的数据。由于(可能)不必要的原因,我将Yeoman片分成2个文件。以下是index.js的摘录......
// index.js
myGenerator.prototype.packagejson = function packagejson() {
var projectName = this.projectName;
var pkg = {
"name": projectName,
"version": "0.0.0",
"dependencies": {},
"srcDir": process.cwd(),
};
this.write('package.json',JSON.stringify(pkg));
};
myGenerator.prototype.gruntfile = function gruntfile(){
this.template('Gruntfile.js','Gruntfile.js');
}
这将创建一个package.json文件并将JSON字符串写入该文件。 projectName是在命令行中加载模板时询问的提示。 Process.cwd()引用当前文件目录。
然后它从模板创建一个Gruntfile。以下情况除外:
//Grunt - Yeoman template
module.exports = function(grunt){
grunt.initConfig({
pkg: grunt.file.readJSON('package.json'),
sync:{
dev:{
files:[
{src:['./index.html','./app.css','./js/*.js'],dest:'m:/dev/project/'},
{cwd:"<% pkg.srcDir %>", src:['**/*.js','**/*.css','**/*.html'], dest:'m:/dev/project/'}
]
}
}
})
};
这在我看来应该......
但是,我只回来一个空字符串。
// Gruntfile.js for new application
cwd:"", src:['**/*.js','**/*.css','**/*.html'], dest:'m:/dev/project/'
我无法读取package.json信息并填充我的gruntfile的任何明显原因?
由于
答案 0 :(得分:3)
在开场模板标记中添加双倍百分比
<%% pkg.srcDir %>