下午好,

我是初级开发人员,是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哪是检索已编译脚本和资源的根路径。

09-25 18:53