Angular 2大型项目,包含大量模块

时间:2017-06-23 09:16:02

标签: angular angular2-routing

我已经构建了一个非常大的角度2 cli应用程序,它目前工作正常。但是,当我们向生产环境发布时,我们正面临着问题。 5个团队正在研究单独的模块,有些情况下,一个或两个模块必须上线。 但是当我们构建项目时,所有模块都正在被编译,并且所有更改都将生效。

我尝试将每个模块构建为单独的angular2库并在git存储库上托管稳定版本。我们有一个共同项目,所有模块已添加到package.json dependencies,团队正在使用npm install获取其他模块的更新。

在常见项目路由中如下

export const routes: Routes = [

      { path: '', component: UsTileMenuComponent },
      { path: 'features/:id', component: UsTileFeaturesComponent },
      { path: 'users', loadChildren: 'app/modules/admin/admin.module#AdminModule' },
      { path: 'sample', loadChildren: 'app/modules/sample/sample.module#SampleModule' },
      { path: 'shop', loadChildren: '@exce/sample#SampleModule' },
      { path: 'members', loadChildren: '@exce/membership#MembershipModule' },
      { path: '**', component: PageNotFoundComponent }

    ];

的package.json

    "dependencies": {
        "@angular/animations": "^4.2.2",
        "@angular/common": "^4.2.2",
        "@angular/compiler": "^4.2.2",
        "@angular/compiler-cli": "^4.2.2",
        "@angular/core": "^4.2.2",
        "@angular/forms": "^4.2.2",
        "@angular/http": "^4.2.2",
        "@angular/platform-browser": "^4.2.2",
        "@angular/platform-browser-dynamic": "^4.2.2",
        "@angular/platform-server": "^4.2.2",
        "@angular/router": "^4.2.2",
        "@ng-bootstrap/ng-bootstrap": "^1.0.0-alpha.26",
        "classlist.js": "^1.1.20150312",
        "core-js": "^2.4.1",
        "intl": "^1.2.5",
        "ng2-translate": "^5.0.0",
        "rxjs": "^5.1.0",
        "web-animations-js": "^2.2.5",
        "zone.js": "^0.8.4",
        "@exce/us-common":"file:///D:/WORK_DIR/HTML/modules/us-common/dist",
        "@exce/admin":"file:///D:/WORK_DIR/HTML/modules/admin/dist",
        "@exce/membership":"D:/WORK_DIR/HTML/modules/membership/dist",
 "@exce/sample":"D:/WORK_DIR/HTML/modules/sample/dist"
      },

在这里,我通过使用git URL的文件Url来获取依赖关系。在这种方法中,库中的组件,服务和管道可以使用,但库内的路由不起作用。它不会加载为{ path: 'members', loadChildren: '@exce/membership#MembershipModule' }

有人可以建议一个解决方案吗?

0 个答案:

没有答案