Node.js 如何在节点服务器上运行angular应用程序?
您好,我想在节点服务器上使用Node.js 如何在节点服务器上运行angular应用程序?,node.js,angular,express,Node.js,Angular,Express,您好,我想在节点服务器上使用express运行我的应用程序 My 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, () => {
express
运行我的应用程序
My 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
上查看我的网站时。什么也没有出现。你能帮我吗?示例angularjs应用程序目录如下:
AngularApp->myApp->
AngularApp->myApp->controllers
AngularApp->myApp->views
AngularApp->myApp->services
AngularApp->myApp->app.js
AngularApp->myApp->index.html
创建package.json文件并在其中插入以下代码:
(位置:AngularApp->package.json)
创建server.js:
(位置:AngularApp->server.js)
导航到package.json文件后运行commnad'npm install'
运行命令“npm start”。打开浏览器,点击localhost:8080/我找到了一个解决方案
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);
希望这对你有帮助 1) 运行: 这将创建一个dist文件夹。用于生产 2) 运行: 安装express并将其另存为项目中的依赖项 3) 在根目录中创建文件:./server.js 4) 复制此代码。别忘了用你的名字修改这个项目
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文件
你只需几步就可以做到这一点 1)。运行ng build--prod(如果得到预算错误,则根据错误增加angular.json文件中的预算) 2) 。执行上述命令后,将生成一个包含您的项目文件夹的dist文件夹,将dist文件夹中的此项目文件夹从angular project in移动到您的节点项目中,例如在公用文件夹中(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项目
希望这能帮助你或其他人!谢谢。(1)您在res.sendFile(path.resolve('dist/my-app/index.html'))中遇到任何错误。
。。。(2) 另外,当您在浏览器中执行localhost:[80]/
操作时,您会看到什么?(3) 尝试更改应用程序的端口。请收听8080而不是80
ng build --prod
npm install --save express
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}`));
node server.js
const path = require('path');
app.use('/', express.static(path.join(__dirname, 'public/your_build_angular_project')));