更新
似乎这不应该在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
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
问题,但不确定
答案 0 :(得分:0)
尝试
tr