我想根据需要生成devDependencies。为此我在我的生成器中有一个数组和一些这样的操作:
var FiddleGenerator = generator.Base.extend({
init: function() {
this.devDependencies = [];
},
//...excluded for brevity
gruntConfigure: function() {
this.devDepedencies = [
'grunt',
'grunt-contrib-watch',
'grunt-contrib-connect'
];
},
installStuff: {
if(this.option('skip-install')) return;
this.npmInstall(this.devDependencies, { saveDev: true });
}
});
这里的问题是当用户选择跳过npm安装并稍后手动执行时(即npm install
)没有安装任何内容。
但是,我不能简单地编写一个这样的package.json文件...我对每个包放置了什么版本,以使它们看起来如下所示:
"devDependencies": {
"grunt": "~0.4.2",
"grunt-contrib-watch": "~0.5.3",
"grunt-contrib-connect": "^0.7.0"
}
答案 0 :(得分:0)
只需在JS代码(this.fs.writeJSON
)内手动将devDependencies写入package.json文件即可。无需使用npmInstall()
。
您可以在此处查看此操作:MVVMLight