javascript - 创建一个具有 RouterModule 作为依赖项的角度包
问题描述
我正在尝试使用 Angular 库启动器创建一个包
在我添加 RouterModule 之前一切正常。
导致问题的模块
import { NgModule, ModuleWithProviders } from '@angular/core';
import { CommonModule } from '@angular/common';
import { ClientMenuComponent } from './client-menu/client-menu.component';
import { ClientMenuItemComponent } from './client-menu-item/client-menu-item.component';
import { RouterModule, Router, Routes } from '@angular/router';
@NgModule({
imports: [
CommonModule,
RouterModule.forRoot([]) <---- Error: AoT compilation failed
],
declarations: [
ClientMenuComponent,
ClientMenuItemComponent,
],
exports: [
ClientMenuComponent,
ClientMenuItemComponent
]
})
export class ClientMenuModule {
static forRoot(): ModuleWithProviders {
return {
ngModule: ClientMenuModule,
providers: []
};
}
static forChild(): ModuleWithProviders {
return {
ngModule: ClientMenuModule,
providers: []
};
}
}
这是我得到的完整错误。
Error during template compile of 'ClientMenuModule'
Function calls are not supported in decorators but 'RouterModule' was called.
Error: AoT compilation failed
我正在使用的环境是
Angular CLI: 6.0.3
Node: 8.11.1
OS: darwin x64
Angular: 6.0.0
解决方案
拉出函数调用:
export const MyModule = RouterModule.forRoot([]);
@NgModule({
imports: [
CommonModule,
MyModule
],
declarations: [
ClientMenuComponent,
ClientMenuItemComponent,
],
exports: [
ClientMenuComponent,
ClientMenuItemComponent
]
})
推荐阅读
- reactjs - 强制组件更新更改
- php - 如何在没有表单标签的情况下将输入标签值从 HTML 文件发送到 PHP 文件?
- css - 如何制作倒圆角和“弯曲”内容以跟随弯曲的容器
- c# - WPF/C#:如何绑定字典
> 在数据网格中? - java - 如何防止 Visual Studio 代码中的状态栏颜色在运行任何 Java 文件时变为橙色
- html - Github-托管个人页面-子页面的超链接
- javascript - 类型错误:dart.global.firebase.firestore 不是函数
- vb.net - VB.NET 使用 ReadProcessMemory API
- python - groupby 然后创建一个计数器
- formatting - 如何正确包装涉及键绑定的 Elisp 文档字符串?