我认为这里的问题是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文件,请告诉我。
非常感谢
答案 0 :(得分:1)
您能否将您的 static.json
修改为如下所示:
"routes": {
"/**": "index.html",
"*": "index.html"
}