Heroku网页包生成所需的开发人员依赖项

Heroku网页包生成所需的开发人员依赖项,heroku,webpack,Heroku,Webpack,我的印象是,当我使用Webpack向Heroku部署基于react的应用程序时,我不需要包含devdependency。例如,这是我的包裹 "scripts": { "test": "", "start": "./node_modules/.bin/babel-node server", "build": "rimraf dist && export NODE_ENV=production && webpack --config ./w

我的印象是,当我使用Webpack向Heroku部署基于react的应用程序时,我不需要包含devdependency。例如,这是我的包裹

  "scripts": {
    "test": "",
    "start": "./node_modules/.bin/babel-node server",
    "build": "rimraf dist && export NODE_ENV=production && webpack --config ./webpack.production.config.js --progress --profile --colors",
    "postinstall": "node deploy",
    "eslint": "eslint .",
    "jscs": "jscs ."
  },
和deploy.js:

  if (process.env.NODE_ENV === 'production') {
    var child_process = require('child_process');
    child_process.exec("webpack -p --config webpack.production.config.js", function (error, stdout, stderr) {
      console.log('stdout: ' + stdout);
      console.log('stderr: ' + stderr);
      if (error !== null) {
        console.log('exec error: ' + error);
      }
    });
  }
还有程序文件

web ./node_modules/.bin/babel-node server.js  

然而,当我推到Heroku时,我总是得到一个无法识别的webpack命令,所以我将所有devdependency作为正常依赖项包含进来,以使其正常工作。我在这里遗漏了什么吗?

Heroku在默认情况下将NPM\u CONFIG\u PRODUCTION设置为true,以便仅安装依赖项。如果要安装devDependencies,可以禁用生产模式:


$heroku config:set NPM\u config\u PRODUCTION=false


但是,由于您通常不希望生产版本中的所有依赖项,因此最好只将生产版本实际需要的依赖项移动到依赖项(bower、grunt、gulp等)中。

请附上您的package.json