我有一个由django提供服务的Angular 6.1应用程序。当我尝试ng build并打开它时,出现了以下错误:
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:
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 {}和记录-路由:
const recordsRoutes: Routes = [{
path: "",
component: RecordsComponent,
canActivate: [AuthGuardService]
}];
@NgModule({
imports: [RouterModule.forChild(recordsRoutes)],
exports: [RouterModule],
providers: [AuthGuardService]
})
export class RecordsRoutingModule {}基本的角度依赖关系使用+ ngrx进行状态管理。一切都构建得很完美:
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实际上只是服务于在构建过程中创建的文件。
你知道这里发生了什么吗?
发布于 2018-10-14 02:38:10
对于延迟加载的模块,我们需要使用RouterModule的.forchild方法。
RouterModule.forChild(routes)发布于 2018-10-14 23:53:15
谢谢你的回答,问题确实不是.forChild,我已经有了。但是来自django的服务,它没有找到大块。
解决方案:用户静态,其中‘/ ng build --deploy-url /static/dist/ /dist/’是编译文件的位置。
https://stackoverflow.com/questions/52790989
复制相似问题