在Heroku上托管使用Wepback构建的生产React应用程序

use*_*134 1 heroku webpack

每次我推到heroku时,它只是说"未找到".我假设这是因为webpack不运行?

我尝试过各种各样的脚本:

"scripts": {
  "clean": "rimraf dist",
  "build": "npm run clean && NODE_ENV=production && webpack -p --progress",
  "postinstall": "npm run builds",
  "serve": "webpack-dev-server"
}
Run Code Online (Sandbox Code Playgroud)

另一个,没有安装后.

使用postinstall的那个会给我一个错误,说没有安装webpack(保存在我的devDependencies下).在第二个中,我在Heroku日志上成功构建,但在加载页面时"找不到".

Yon*_*tch 5

您需要在package.json中的"dependencies"下放置webpack(以及Heroku所需的任何其他依赖项),而不是"devDependencies"下.

  • Heroku是一个生产环境.devDependencies仅适用于开发环境所需的包.您需要包含在Heroku slug中的软件包(包括在slug构建阶段所需的软件包,例如webpack),需要在您的依赖项中,而不是devDependencies.您可能会看到人们将webpack放在devDependencies中用于其他平台,但可能不适用于Heroku. (2认同)
  • 但如果您真的坚持在Heroku上安装devDependencies(不推荐),可以通过设置NPM_CONFIG_PRODUCTION = false来实现,如下所述:https://devcenter.heroku.com/articles/nodejs-support#devdependencies (2认同)