angular - 快递服务角路线
问题描述
到目前为止,我正在尝试让我的角度路线在 express 中工作,它将加载页面 index.html,如果您从那里导航,它将很好地使用路线,但是如果您打开一个新浏览器并尝试直接转到路线('深层链接')它不起作用......(路由在 ng serve 中起作用)
这是我用来让它为 index.html 服务的东西
app.use(express.static(__dirname + '/dist'));
app.use("*",function(req,res){
res.sendFile(path.join(__dirname,"/dist/index.html"));
});
如果我尝试去 localhost:3000 它工作正常......当我从那个页面导航时,这些路由也工作正常但是如果我尝试做 localhost:3000/room/3290sfda9328fa98 (该页面包含一个路由:id)然后这没用
这是路线的角度侧
export const routes: Routes = [
{ path: '', component: StartscreenComponent },
{ path: 'room/:id', component: RoomComponent },
{ path: 'createroom', component: StartroomComponent }
];
您返回的错误如下所示:
ReferenceError: path is not defined
at /Documents/angular8/nodechat/index.js:18:18
at Layer.handle [as handle_request] (/Documents/angular8/nodechat/node_modules/express/lib/router/layer.js:95:5)
at trim_prefix (/Documents/angular8/nodechat/node_modules/express/lib/router/index.js:317:13)
at /Documents/angular8/nodechat/node_modules/express/lib/router/index.js:284:7
at param (/Documents/angular8/nodechat/node_modules/express/lib/router/index.js:354:14)
at param (/Documents/angular8/nodechat/node_modules/express/lib/router/index.js:365:14)
at Function.process_params (/Documents/angular8/nodechat/node_modules/express/lib/router/index.js:410:3)
at next (/Documents/angular8/nodechat/node_modules/express/lib/router/index.js:275:10)
at SendStream.error (/Documents/angular8/nodechat/node_modules/serve-static/index.js:121:7)
at SendStream.emit (events.js:189:13)
这是 index.js 文件的更多内容
const express = require('express');
const app = express();
const router = express.Router();
// const proxy = require('express-http-proxy');
const helmet = require('helmet');
app.use(helmet());
const http = require('http').createServer(app);
const io = require('socket.io')(http);
app.use(express.static(__dirname + '/dist'));
app.use("*",function(req,res){
res.sendFile(path.join(__dirname,"/dist/index.html"));
});
http.listen(3000, () => {
console.log('listening on *:3000');
});
解决方案
您需要require(path)
先使用它。将此添加到您的顶部index.js
:
const path = require('path')
推荐阅读
- jenkins - VCS settings for Clear Case UCM Plugin for Jenkins
- guice - Guice with multiple concretes......picking one of them
- node.js - 如何保护公共 nodejs api 仅来自前端的请求
- django - Django 将 SVG 上传到 ImageField
- scikit-learn - 决策树构建中关于特征分割的问题
- javascript - D3.js Wildcard selection on SVG Path
- php - Laravel - 在 API 中访问会话变量
- python - 在这个谢尔宾斯基三角形中超过三的深度需要什么额外的逻辑?
- c++ - 如何检查将 const_reverse_iterator 分配给 reverse_iterator 是否无效?
- php - Insert Ignore - Ask MySQL if statement was ignored