我想根据需要生成我的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)时,什么都不会安装。
然而,我不能简单地编写一个像that...what版本那样的package.json文件,为了让它们看起来像下面这样,我将它们放在每个包上:
"devDependencies": {
"grunt": "~0.4.2",
"grunt-contrib-watch": "~0.5.3",
"grunt-contrib-connect": "^0.7.0"
}发布于 2015-12-06 05:47:52
只需在JS代码中手动将devDependencies写入package.json文件(this.fs.writeJSON)。为此,不需要使用npmInstall()。
你可以在这里看到这一点:https://github.com/yeoman/generator-node/blob/master/generators/gulp/index.js#L38-L69
https://stackoverflow.com/questions/34102703
复制相似问题