具有参数的角“懒惰”路由在本地但不适用于生产

时间:2019-11-14 14:53:04

标签: javascript angular typescript angular2-routing

下午好,

我是一名初级开发人员,是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 }
        ]
    },
];

先谢谢了。

2 个答案:

答案 0 :(得分:1)

位于项目根目录的index.html中的基本href应该是这样的:

<head>
    <base href="/myAPPname/">
</head>

它告诉Angular哪个是检索编译的脚本和资源的根路径。

答案 1 :(得分:0)

我对Angular并没有超级的经验,但是您似乎使用三个参数 while(++rowIndex < rows.Count()) { currentRow = rows.ElementAt(rowIndex); int descendants = currentRow.Descendants<Cell>().Count(); if(descendants <= 1) { continue; } // your code } 定义了路径,但是您的URL只有2个,即:/id/:dateFrom/:dateTo

您可能还需要通过myUrl.com/myAPPname/diary/2018-12-20/2018-12-20部分。无论如何,这里的routing guide regarding parameters可能会有用。

干杯和好运:)