尝试将我的REACT Webpack应用程序部署到heroku。一切都在本地工作,而heroku构建工作。但是我得到了404 Nginx

时间:2019-10-04 20:23:11

标签: reactjs heroku webpack

我认为这里的问题是heroku在错误的位置搜索我的bundle.js。

Heroku在默认位置('/app/build/static/js/*.js')中寻找我的包,但是我已经使用以下命令设置了在webpack.config和static.json文件中指定的自定义包位置

heroku config:set JS_RUNTIME_TARGET_BUNDLE: /app/dist/*.js

,如此处所述(https://github.com/mars/create-react-app-buildpack/blob/master/README.md#user-content-custom-bundle-location)。我是Heroku的新手,并且对编程没有经验,因此我不知道为什么heroku仍在默认位置寻找我的捆绑包。以下是我的webpack.config和static.json文件中的重要摘要。

webpack.config.js

    entry: './src/index.js',
    output: {
        path: path.join(__dirname, '/dist'),
        filename: 'bundle.js'
    },

static.json

    "root": "dist/",
    "clean_urls": false,
    "routes": {
      "/**": "src/index.html"
    }
  }

当我运行heroku日志--tail时,得到以下信息。如您所见,heroku在默认位置寻找我的捆绑包。

2019-10-04T02:04:43+00:00 app[api]: Build succeeded
2019-10-04T02:04:55.38611+00:00 heroku[web.1]: Starting process with command `bin/boot`
2019-10-04T02:04:56.977667+00:00 heroku[web.1]: State changed from starting to up
2019-10-04T02:04:56.675665+00:00 app[web.1]: ls: cannot access '/app/build/static/js/*.js': No such file or directory
2019-10-04T02:04:56.676135+00:00 app[web.1]: Error injecting runtime env: bundle not found '/app/build/static/js/*.js'. See: https://github.com/mars/create-react-app-buildpack/blob/master/README.md#user-content-custom-bundle-location
2019-10-04T02:04:56.890081+00:00 app[web.1]: Starting log redirection...
2019-10-04T02:04:56.890346+00:00 app[web.1]: Starting nginx...

如果您的路径有任何问题/是否有办法让heroku查找我的bundle.js文件,请告诉我。

非常感谢

1 个答案:

答案 0 :(得分:1)

您能否将您的 static.json 修改为如下所示:

"routes": {
    "/**": "index.html",
    "*": "index.html"
}