下午好,
我是初级开发人员,是Angular的新手,当路径包含参数时,我在路由方面遇到一些问题。我目前正在使用Angular 7。
我有一个组件,用户可以在其中选择ID和两个日期,然后根据这些日期显示数据。我还需要这个组件来显示数据,方法是从参数中获取选项(如果有)。我设法做到了没有问题,它可以在本地运行,但是一旦将应用程序部署到服务器中,它就无法运行。
我正在使用的路径是
myUrl.com/myAPPname/diary/2/2018-12-20/2018-12-20
添加参数时,浏览器尝试从以下脚本获取脚本:
myUrl.com/myAPPname/diary/2/2018-12-20/main.js
myUrl.com/myAPPname/diary/2/2018-12-20/polyfill.js
代替:
myUrl.com/myAPPname/main.js
myUrl.com/myAPPname/polyfill.js
该组件是模块的一部分,从主模块中进行了延迟加载。这是模块的路由。就像我说的那样,它在本地工作,但是当应用程序部署在服务器中时失败。
const routes: Routes = [
{
path: '', component: LayoutComponent,
children: [
{ path: 'diary', component: DiaryComponent },
{ path: 'diary/:id/:dateFrom/:dateTo', component: DiaryComponent }
]
},
];
提前致谢。
最佳答案
项目根目录中index.html中具有的基本href应该是这样的:
<head>
<base href="/myAPPname/">
</head>
它告诉Angular哪是检索已编译脚本和资源的根路径。