Я пытаюсь развернуть мое приложение на heroku, сборка завершается успешно, но если я пытаюсь открыть его, я получаю:
2019-04-15T08:32:43.993726+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path="/" host=URL request_id=b9a85cad-9d96-428b-8843-342e2a7372da fwd="88.119.49.13" dyno= connect= service= status=503 bytes= protocol=https
2019-04-15T08:32:44.594217+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path="/favicon.ico" host=URL request_id=c3997cb0-971e-4918-9eb0-132f0fd3c2eb fwd="88.119.49.13" dyno= connect= service= status=503 bytes= protocol=https
Мое приложение React создается без create-react-app
или react-scripts
,Я настроил веб-пакет сам.На localhost все работает нормально, если я запускаю npm run dev
.Это мой package.json
:
{
"name": "task-frontend",
"version": "1.0.0",
"description": "A frontend task.",
"main": "index.js",
"engines": {
"node": "10.15.3"
},
"scripts": {
"heroku-prebuild": "npm install --dev",
"dev": "node_modules/.bin/webpack-dev-server --mode development --open --hot",
"start": "node_modules/.bin/webpack --config webpack.config.js --mode development"
},
"repository": {
"type": "git",
"url": ""
},
"author": "",
"license": "ISC",
"bugs": {
"url": ""
},
"homepage": "",
"dependencies": {
"extract-text-webpack-plugin": "^4.0.0-beta.0",
"react": "^16.8.6",
"react-dom": "^16.8.6",
"react-scripts": "1.1.1",
"resolve-url-loader": "^3.1.0",
"serve": "^11.0.0",
"ttf-loader": "^1.0.2",
"webpack": "4.19.1",
"webpack-cli": "2.1.4",
"html-webpack-plugin": "^3.2.0",
"html-loader": "^0.5.5",
"@babel/core": "^7.4.3",
"@babel/preset-env": "^7.4.3",
"@babel/preset-react": "^7.0.0",
"babel": "^6.23.0",
"babel-core": "^6.26.3",
"babel-loader": "^8.0.5",
"babel-preset-env": "^1.7.0",
"babel-preset-react": "^6.24.1",
"css-loader": "^2.1.1",
"http-server": "^0.11.1",
"node-sass": "^4.11.0",
"sass-loader": "^7.1.0",
"style-loader": "^0.23.1",
"url-loader": "^1.1.2"
},
"devDependencies": {
"webpack-dev-server": "^3.3.1"
}
}
, как вы можете видеть, у меня есть скрипт heroku-prebuild
, который устанавливает зависимости dev
, а экземпляр Heroku запускает мой скрипт start
.На данный момент он работает в режиме разработки, позже перейдет в рабочий режим.
Сначала я подумал, что это может быть из-за того, что у меня не определены маршруты, но я считаю, что это вряд ли так.
Мой webpack.config.js
файл:
const HtmlWebPackPlugin = require("html-webpack-plugin");
const { resolve } = require('path');
module.exports = {
module: {
rules: [
{
test: /\.(js|jsx)$/,
exclude: /node_modules/,
use: {
loader: "babel-loader",
}
},
{
test:/\.(s*)css$/,
use:['style-loader', 'css-loader', 'sass-loader']
},
{
test: /\.(png|jpg|svg|jpeg)$/,
loader: 'url-loader'
},
{
test: /\.(ttf|woff|eot)(\?v=[0-9]\.[0-9]\.[0-9])?$/,
loader: 'url-loader'
}
]
},
plugins: [
new HtmlWebPackPlugin({
template: resolve(__dirname, 'src/public', 'index.html'),
filename: "./index.html"
})
]
};
Если потребуется какая-либо дополнительная информация, пожалуйста, дайте мне знать, и я обновлю свой пост.