package.json适用于不同的环境?

Jes*_*ton 5 heroku node.js npm

我有一个node.js应用程序,我刚刚部署到Heroku,这取决于canvas模块.但是,该模块需要cairo图形库和长篇故事,我需要使用这个画布前缀的预先配置版本.

通常,我的package.json依赖项看起来像:

  "dependencies" : {
    "canvas"   :  "0.10.0",
    "express" :  "2.5.6",
    "jade" : "0.20.1"
  }
Run Code Online (Sandbox Code Playgroud)

但是为了让我的应用程序在Heroku上工作,我必须从github中获取fork

  "dependencies" : {
    "canvas"   :  "git://github.com/elspoono/node-canvas-heroku.git#master",
    "express" :  "2.5.6",
    "jade" : "0.20.1"
  }
Run Code Online (Sandbox Code Playgroud)

是否有可能有一个"Heroku-only"版本的package.json?或者在package.json中有另一个部分,我可以在dev环境中"覆盖"画布依赖性吗?

kev*_*vin 4

从未使用过 Heroku,但 package.json 格式定义了 devDependencies 字段,请参阅Nodejitsu cheatsheet。然后安装$ npm install -d

  • 您可以使用 `npm config set production true` 或环境变量 `export NPM_CONFIG_Production="true"` 将 npm 配置为在生产模式下运行 (2认同)