Angular v6 - 懒惰加载的路由未加载

时间:2018-05-26 21:25:49

标签: angular angular-cli angular-cli-v6

更新

似乎这不应该在Angular 5中起作用 - 但由于某种原因它是。 loadChildren值必须是普通字符串或LoadChildrenCallback。我已经尝试了回调 - 使用Observable - 但是很多问题指出这总是打破延迟加载。只需使用普通字符串选项

使用CLI v6更新到Angular 6之后。 我有一个延迟加载的路由设置如下

import { BLOG_CONFIG } from './BLOG_CONFIG';

const blogPath = BLOG_CONFIG.blogPath;
const categoriesPath = BLOG_CONFIG.categoriesPath;
const categoriesModulePath = BLOG_CONFIG.categoriesModulePath;

const routes: Routes = [
   { path: `${blogPath}/${categoriesPath}`, loadChildren: categoriesModulePath }
];

博客配置是:

export const BLOG_CONFIG = {
  blogPath: 'blog',
  postsPath: 'post',
  categoriesPath: 'categories',
  categoriesModulePath: './modules/categories/categories.module#CategoriesModule',
}

当我导航到blog/categories路线时,出现控制台错误:

ERROR Error: Uncaught (in promise): Error: Cannot find module "./modules/categories/categories.module.ngfactory".
Error: Cannot find module "./modules/categories/categories.module.ngfactory".

如果我更改路线以便loadChildren 直接使用该字符串就可以正常使用!

const routes: Routes = [
  { path: `${blogPath}/${categoriesPath}`, loadChildren: './modules/categories/categories.module#CategoriesModule' }
];

Angular 5中没有发生这种情况。我在这里错过了一些简单的内容吗?

注意:当它与字符串一起使用时,我得到ng serve --aot

的CLI输出
chunk {modules-categories-categories-module-ngfactory} modules-categories-categories-module-ngfactory.js, modules-categories-categories-module-ngfactory.js.map (modules-categories-categories-module-ngfactory) 70.5 kB  [rendered]

我认为阅读BlogConfig对象时可能存在webpack问题,但不确定

1 个答案:

答案 0 :(得分:0)

尝试

tr