0

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

1 回答 1

0

this.fs.writeJSON只需在 JS 代码 ( ) 中手动将 devDependencies 写入 package.json 文件即可。无需为此使用npmInstall()

您可以在此处看到此操作:https ://github.com/yeoman/generator-node/blob/master/generators/gulp/index.js#L38-L69

于 2015-12-05T21:47:52.173 回答