按照此处的说明尝试使用Github将Angular应用程序部署到Heroku:https://itnext.io/how-to-deploy-angular-application-to-heroku-1d56e09c5147
部署成功,但是当我打开应用程序时,在屏幕上出现“未找到”错误。尝试将'app.use'和'res.sendFile'中的位置更改一千次,但是没有运气,现在这是我的'server.js'代码:
这些是我的app.use和res.sendFile函数:
app.use(express.static(__dirname + '/dist/app_name'));
res.sendFile(path.join(__dirname + '/dist/app_name/index.html'));
文件夹结构:
├── angular.json
├── browserslist
├── e2e
├── karma.conf.js
├── node_modules
├── package.json
├── package-lock.json
├── README.md
├── server.js
├── src
├── app
│ ├── assets
│ ├── environments
│ ├── favicon.ico
│ ├── index.html
│ ├── main.ts
│ ├── polyfills.ts
│ ├── styles.css
│ └── test.ts
├── tsconfig.app.json
├── tsconfig.json
├── tsconfig.spec.json
└── tslint.json
我的猜测是我的部署无法在src文件夹中找到index.html,但是我没有更多的想法可以提供什么路径。
试图删除两个函数中的“ _dirname”,但仍然是相同的问题。
非常感谢所有建议。
答案 0 :(得分:0)
替换此:
app.use(express.static(__dirname + '/dist/app_name'));
res.sendFile(path.join(__dirname + '/dist/app_name/index.html'));
具有:
app.use(express.static(path.join(__dirname, 'dist','app_name'));
res.sendFile(path.join(__dirname,'dist','app_name','index.html'));