Angular in the docs说明如下:
{
path: 'admin',
loadChildren: 'app/admin/admin.module#AdminModule',
},
我对语法很好奇。据我了解,这一部分:
app/admin/admin.module
定义加载模块的路径。但这是什么#AdminModule
?
我正在阅读this article,并且有以下路径:
loadChildren: 'contacts.bundle.js',
所以,正如你所看到的,哈希没有任何东西。
答案 0 :(得分:1)
哈希部分表示导出的模块名称。因此,在app/admin/admin.module
内导出AdminModule
:
export class AdminModule {}
但是,如果使用默认导出,则无需使用散列。
以下是来源system_js_ng_module_factory_loader.ts
的相关部分:
private loadAndCompile(path: string): Promise<NgModuleFactory<any>> {
let [module, exportName] = path.split(_SEPARATOR);
if (exportName === undefined) exportName = 'default';
return System.import(module)
.then((module: any) => module[exportName])
.then((type: any) => checkNotEmpty(type, module, exportName))
.then((type: any) => this._compiler.compileModuleAsync(type));
}