在heroku上部署Angular项目时出错

时间:2020-10-04 21:20:42

标签: node.js angular heroku

我已将Angular项目部署到heroku。显示未找到错误。我尝试在节点server.js中运行相同的项目,但出现相同的错误,但未找到某些文件。 我尝试了https://itnext.io/how-to-deploy-angular-application-to-heroku-1d56e09c5147。 但是我认为server.js文件中存在一些错误。 Server.js

const express = require('express');
const app = express();
const path = require('path');
const port = process.env.PORT || 4200;
const server = require('http').Server(app);


// Serve only the static files form the angularapp directory
app.use(express.static(__dirname + '/RouterApp'));

app.get('/*', function(req,res) {

res.sendFile(path.join(__dirname+'/RouterApp/index.html'));
});

// Start the app by listening on the default Heroku port


server.listen(port, function () {
    console.log("App running on port " + port);
})

当我尝试将路径设置为/src/index.html时,索引页面正在加载,但Angular组件未加载。 这是我的目录结构

>>RouterApp
  >>...
  >>server.js
  >>src
    >>index.html
    >>components
  >>...

使用node server.js运行时出现错误 ENOENT:没有这样的文件或目录,stat'/data/data/com.termux/files/home/RouterApp/RouterApp/index.html'

当我尝试在localhost:4200上运行程序时,使用ng serve可以完美运行。 这是GitHub仓库https://github.com/Pradeep2898/QuoraClone

1 个答案:

答案 0 :(得分:0)

好,我明白了。我的项目没有在部署时创建dist文件夹。我尝试了此步骤

cd RouterApp
ng build  //this will creat a dist folder
// now run the node server.js
node server.js
>>App running on port 4200
// Open the app locally on port 4200, https: localhost:4200
// It will work. Push the changes to git repository.
// It worked.

https://quora-ui-clone.herokuapp.com/

尝试安装npm install http-server -g 然后运行http-server/dist

How to run the Dist Folder on Local Machine in Angular 6+?