你好,我想在节点服务器上使用express运行我的应用程序。
我的server.js:
var express = require('express');
var path = require('path');
var app = express();
app.get('/', (req, res) => {
res.sendFile(path.resolve('dist/my-app/index.html'))
});
app.listen(80, () => {
console.log('Server started!')
})但当我试图在localhost上浏览我的网站时。什么也没出现。你能帮我吗?
发布于 2020-03-06 00:22:23
希望这能对你有所帮助。
1)运行:
ng build --prod这将创建一个dist文件夹。用于生产。
2)运行:
npm install --save express安装express并将其另存为项目中的依赖项。
3)在root目录下创建文件:./server.js
4)复制此代码。别忘了修改你的名字project
const express = require('express');
const http = require('http');
const path = require('path');
const app = express();
const port = process.env.PORT || 3001;
app.use(express.static(__dirname + '/dist/my-app-name'));
app.get('/*', (req, res) => res.sendFile(path.join(__dirname)));
const server = http.createServer(app);
server.listen(port, () => console.log(`App running on: http://localhost:${port}`));5)运行server.js文件
node server.js发布于 2019-05-17 17:52:03
我找到了一个解决方案!
const express = require('express');
const app = express();
const path = require('path');
const fs = require('fs');
const port = process.env.NODE_PORT || 3000;
const root = path.join(__dirname, 'dist', 'my-app');
app.get('*' ,function(req, res) {
fs.stat(root + req.path, function(err){
if(err){
res.sendFile("index.html", { root });
}else{
res.sendFile(req.path, { root });
}
})
});
app.listen(port);
console.log('Listening on port '+ port);发布于 2020-08-18 16:23:18
你只需要很少的步骤就可以做到这一点。
1)。运行ng build --prod (如果预算错误,则根据错误增加angular.json文件中的预算)
2)。执行上述命令后,将生成一个dist文件夹,其中包含您的项目文件夹,将dist文件夹中的项目文件夹从angular项目移动到您的节点项目中,比如在公共文件夹( public / your _build_angular_ project )中。
3)。现在,在您的节点主文件中,例如index.js或app.js,包含以下行
const path = require('path');
app.use('/', express.static(path.join(__dirname, 'public/your_build_angular_project')));4)。现在为您的节点服务器提供服务,然后当您访问它时,您将运行您的angular项目
希望这能对你或其他人有所帮助!谢谢。
https://stackoverflow.com/questions/56181443
复制相似问题