您好,我想在节点服务器上使用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
上查看我的网站时。什么也没出现。你能帮我吗?
答案 0 :(得分:8)
希望这会对您有所帮助。
1)运行:
ng build --prod
这将创建一个 dist 文件夹。用于生产。
2)运行:
npm install --save express
要安装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 文件
node server.js
答案 1 :(得分:0)
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)
{
“name”: “myApp”,
“version”: “0.0.1”,
“description”: “My Project”,
“dependencies”: {
“express”: “*”
},
“engine”: “node >=0.6.x”,
“scripts”: {
“start”: “node server.js”
},
“main”: “server.js”,
“repository”: {
“type”: “git”,
“url”: “”
},
“author”: “myApp”,
“license”: “myApp”,
“bugs”: {
“url”: “”
},
“homepage”: “/”
}
创建server.js: (位置:AngularApp-> server.js)
var express = require(‘express’);
var app = express();
app.use(express.static(“myApp”)); // myApp will be the same folder name.
app.get(‘/’, function (req, res,next) {
res.redirect(‘/’);
});
app.listen(8080, ‘localhost’);
console.log(“MyProject Server is Listening on port 8080”);
导航到package.json文件后运行commnad“ npm install”。
运行命令“ npm start”。打开浏览器,然后点击localhost:8080 /
答案 2 :(得分:0)
我找到了解决方案!
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);
答案 3 :(得分:0)
您只需几个步骤即可完成操作...
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)。现在为您的节点服务器提供服务,然后在您单击它时,将使您的角度项目运行
希望这对您或其他人有帮助!谢谢。