【发布时间】:2020-01-23 01:00:54
【问题描述】:
我的 server.js 文件如下所示:
const express = require('express');
const http = require('http');
const path = require('path');
//const request = require('request');
const app = express();
var cors = require('cors')
app.use(cors())
app.all('*', function(req, res, next) {
res.header("Access-Control-Allow-Origin", "*");
res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");
res.header("access-control-allow-credentials", "true"),
// res.header("access-control-allow-methods", "GET, POST, PUT, DELETE, PATCH, OPTIONS"),
res.header("access-control-allow-methods", "GET, POST, PUT, DELETE, PATCH, OPTIONS"),
next();
});
var corsOptions = {
origin: 'http://localhost:8080',
optionsSuccessStatus: 200
}
const port = process.env.PORT || 3001;
app.use(express.static(__dirname + '/dist/myApp'));
app.get("/*", (req, res) => res.sendFile(path.join(__dirname)));
app.post("/dashboard", cors(corsOptions), function(req, res) {
console.log(req.headers); // the posted data
console.log(req.query.module);
res.sendStatus(200)
});
const server = http.createServer(app);
server.listen(port, () => console.log('Running......'));
当我执行 node server.js 并在浏览器中点击 http://localhost:3001/ 时,我得到了我在同一个文件中提到的 /dashboard 的页面。
但我收到状态代码:404 Not Found。 网络选项卡中显示的 URL 是 http://localhost:3001/student/allstudent。
我还应该改变什么?如果从 4200 端口的 proxy.conf.json 开始,它将正常工作。但现在我没有从 proxy.conf.json 开始,因为我正在启动节点 server.js。可以帮助我。我们是否应该为 express 提供任何代理与 Angular 节点服务器不同。
【问题讨论】:
-
我认为,您的快速服务器中没有学生/所有学生的路线。请先做,然后再试一次。
-
当我在 4200 上启动节点服务器以获取角度和使用代理的 8080 后端时,我正在使用该应用程序。但现在我只想使用快递通过请求标头获取我的组织单点登录用户名。从那里获取 app.js 文件中的用户名后,我想研究常规角度应用程序如何处理所有路由和所有内容。只是为了从请求中获取该用户名并继续使用 Angular,因为它是现在的工作方式。为此,我们应该在 app.js 中进行哪些更改,除此之外,我们还应该进行任何其他更改。
-
能否请您告诉我是否必须使用 like route.get("/*", (req, res) => res.sendFile(path.join(__dirname)));而不是 app.get("/*", (req, res) => res.sendFile(path.join(__dirname)));在所有地方或。我正在获取我的主页,当我单击某个按钮时,它会点击正确的 url,但它会给出 404。我是否还需要为 node server.js 加注星标 npm start?还是只有 node server.js 就足够了?因为如果离开 express 而只是 npm 开始使用 rest api 正常工作。现在问题仅用于快速服务器