我想根据需要生成我的 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"
}