首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Angular 6.1的延迟加载,ng构建错误

使用Angular 6.1的延迟加载,ng构建错误
EN

Stack Overflow用户
提问于 2018-10-13 16:19:20
回答 2查看 531关注 0票数 0

我有一个由django提供服务的Angular 6.1应用程序。当我尝试ng build并打开它时,出现了以下错误:

代码语言:javascript
复制
Uncaught SyntaxError: Unexpected token <
ERROR Error: Uncaught (in promise): Error: Loading chunk recordmanagement-records-module-ngfactory failed.

在app-module中没有记录模块或其组件的导入。如果我ng serve这个,它工作得很好。我还尝试了--aot和一个使用angular-router-loader的定制的webpack构建,但都不起作用。

这是app-routing:

代码语言:javascript
复制
const appRoutes: Routes = [
    { path: "records", loadChildren: './recordmanagement/records.module#RecordsModule'},
    { path: "", pathMatch: "full" , component: DashboardComponent, canActivate: [AuthGuardService]},
];

@NgModule({
    imports: [RouterModule.forRoot(appRoutes)],
    exports: [RouterModule]
})
export class AppRoutingModule {}

和记录-路由:

代码语言:javascript
复制
const recordsRoutes: Routes = [{
    path: "",
    component: RecordsComponent,
    canActivate: [AuthGuardService]
}];

@NgModule({
    imports: [RouterModule.forChild(recordsRoutes)],
    exports: [RouterModule],
    providers: [AuthGuardService]
})
export class RecordsRoutingModule {}

基本的角度依赖关系使用+ ngrx进行状态管理。一切都构建得很完美:

代码语言:javascript
复制
chunk {main} main.js, main.js.map (main) 233 kB [initial] [rendered]
chunk {polyfills} polyfills.js, polyfills.js.map (polyfills) 228 kB [initial] [rendered]
chunk {recordmanagement-records-module-ngfactory} recordmanagement-records-module-ngfactory.js, recordmanagement-records-module-ngfactory.js.map (recordmanagement-records-module-ngfactory) 208 kB  [rendered]
chunk {runtime} runtime.js, runtime.js.map (runtime) 9.09 kB [entry] [rendered]
chunk {styles} styles.js, styles.js.map (styles) 78.6 kB [initial] [rendered]
chunk {vendor} vendor.js, vendor.js.map (vendor) 4.22 MB [initial] [rendered]

Django实际上只是服务于在构建过程中创建的文件。

你知道这里发生了什么吗?

EN

回答 2

Stack Overflow用户

发布于 2018-10-14 02:38:10

对于延迟加载的模块,我们需要使用RouterModule.forchild方法。

代码语言:javascript
复制
RouterModule.forChild(routes)
票数 0
EN

Stack Overflow用户

发布于 2018-10-14 23:53:15

谢谢你的回答,问题确实不是.forChild,我已经有了。但是来自django的服务,它没有找到大块。

解决方案:用户静态,其中‘/ ng build --deploy-url /static/dist/ /dist/’是编译文件的位置。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52790989

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档