我已将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
答案 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