我想从节点模块导入我的模块。这个节点模块也有我需要导航的路线。
我需要的结果:
连接我的 app.module 以从我的节点模块中的模块获取 loadChildren 。TestModule 需要连接到 forRoot 以便我可以延迟加载 TestModules 路由。
TestModule 是一个 dist 文件夹,它使用 ng-packagr 中内置的 angular cli 版本 6 添加到节点模块中。
这是我的核心应用模块:
import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';
import { RouterModule } from '@angular/router';
import { AppComponent } from './app.component';
import { TestModule } from "test";
@NgModule({
declarations: [
AppComponent
],
imports: [
TestModule,
BrowserModule,
RouterModule.forRoot(
[
{
path: "",
redirectTo: "test",
pathMatch: "full"
},
{
path: "test",
loadChildren: "test#TestModule"
},
])
],
providers: [],
bootstrap: [AppComponent]
})
export class AppModule { }
这是导入的 TestModule(即一个 npm 包):
import { CommonModule } from '@angular/common';
import { NgModule } from '@angular/core';
import { RouterModule } from '@angular/router';
import { HomeComponent } from './containers/home/home.component';
import { LayoutSidebarComponent } from './layouts/layout-sidebar/layout-sidebar.component';
const COMPONENTS = [
HomeComponent
];
@NgModule({
imports: [
CommonModule,
RouterModule.forChild([
{
path: '',
pathMatch: 'full',
component: LayoutSidebarComponent,
children: [
{
path: '',
component: HomeComponent
}
]
}
])
],
declarations: [...COMPONENTS],
exports: []
})
export class TestModule {}
这是我的核心应用 tsconfig.aoo.json:
{
"extends": "../tsconfig.json",
"compilerOptions": {
"outDir": "../out-tsc/app",
"module": "es2015",
"types": [
"node"
]
},
"include": [
"../node_modules/test/**/*.ts"
],
"exclude": [
"src/test.ts",
"**/*.spec.ts"
]
}
信息:
当我对端口 localhost:4200 执行 ng 服务时,我没有收到控制台错误,也没有 git 命令错误。
我将 angular cli 6 与 angular 6、ng-packagr、webpack 和 iterm 一起用于 git cli。
它很难调试,因为我没有错误可以使用。似乎核心应用程序模块没有加载。