我有一个奇怪的问题,我的角环球应用程序(v8.1.1)。
我看不到任何相关的当前或过去的问题,在环球回购。
我的代码的一个简单示例:
路线:
export const routes = [
{
path: '',
component: ParentComponent,
children: [
{
path: ':routeParam',
component: ChildComponent
}
]
}
];构成部分:
...
export class ChildComponent {
id: string;
constructor( private route: ActivatedRoute ) {
this.id = this.route.snapshot.params[ 'routeParam' ]; // get unexpected values eg. favicon.ico
}
}server.ts:
...
app.set('view engine', 'html');
app.set('views', join(DIST_FOLDER, 'browser'));
app.get('*.*', express.static( join(DIST_FOLDER, 'browser') ) );
app.get('*', (req, res) => {
res.render('index', { req, res });
});动态路由(使用params)在浏览器呈现时工作良好,但在服务器端呈现时则不工作。
暂停和休息。
当服务器端呈现时,它接收favicon.ico和bg.svg作为routeParam值(以及预期的字符串值)。
这些文件是从域/资产/.文件夹。
所以我不明白他们是如何到达组件路径仿射的。
我做错了什么?
发布于 2019-12-12 09:00:35
从特快提供静态中间件文档
当找不到文件时,这个模块将调用next()来转移到下一个中间件,而不是发送404响应,
我认为由于某种原因,express无法找到静态文件favicon.ico和bg.svg,因此它调用了下一个中间件,该中间件由reason及其路由处理。
确保dist\browser文件夹包含要查找的文件。如果是这样,则在从角调用这些文件时,尝试检查它们的相对路径。
https://stackoverflow.com/questions/59284253
复制相似问题