Angular 5动态模块加载

时间:2018-04-04 20:34:18

标签: angular angular5 angular2-modules

我正在尝试创建一个应用程序,我想在其中加载功能模块作为单独的webpack块,这些块将在单独的项目中编译。我负责的Webpack部分工作正常。脚本的HTML顺序是: -

  • common.js - > moduleregistration class
  • polyfils.js - >常见的polyfils所有块
  • angular vendor bundles.js - >所有功能包和应用程序包使用的常见供应商捆绑包。
  • feature modules1.js - >包含一个功能模块和组件。
  • feature module2.js - >包含一个功能模块和组件。
  • mainapplication.js - >主应用程序.js具有应用程序引导逻辑。 common.js有一个javascript类来注册模块并获取已注册模块的列表。

所以从功能模块的main.ts文件我这样做: -

import {FeatureModule} from './FeatureModule';
common.Modules.register(FeatureModule). 

现在在mainapplication.js我的app.module正在这样做:

let featureModules = common.Modules.getRegisteredModules();

let importModules = [
    BrowserModule,
    FormsModule,
    UpgradeModule,
    HttpClientModule,
    UIRouterUpgradeModule
];
importModules = importModules.concat(featureModules);

@NgModule({
    imports: importModules,
    declarations: [AppComponent],
    providers: [],
    bootstrap: [
    AppComponent
    ],
entryComponents: [],
exports: []

})
export class AppModule { }

我在引导appModule时遇到错误:

  

意外的价值' MyProfileModule'由模块' AppModule'导入。请添加@NgModule注释。

我调试并发现complier无法为此模块找到属性修饰符或注释。但是,如果我将功能模块复制到主项目并以正常方式导入它,它就可以工作。

请有人帮忙。

0 个答案:

没有答案