" systemjs-builder":如何将js文件中的所有依赖项构建到一个bundle.js文件

时间:2017-02-18 03:44:31

标签: angular systemjs-builder

我使用带有angular2的systemjs-builder 我想要每个模块文件的构建器包文件 例如:我的结构如下

Main.ts

import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
import { AppModule }              from './AppModule';

AppModule.ts

import {NgModule, CUSTOM_ELEMENTS_SCHEMA, ErrorHandler} from "@angular/core";
import {CommonModule, LocationStrategy, HashLocationStrategy} from "@angular/common";
import {appRoutingProviders, routing} from "./Routes";
import {LoginComponent} from "./components/user/LoginComponent";
import {ErrorComponent} from "./components/common/errorPage/ErrorComponent";

Routes.ts 

{path: "accounts",loadChildren: 'app/components/account/AccountModule#AccountModule'},
{path: "contacts",loadChildren: 'app/components/contact/ContactModule#ContactModule'}

现在我使用builder.bundle('[app/**/*]',bundle.js)将所有组件构建到一个文件中,因此大小非常大 我想在Main.ts(AppModule.ts,AppModule中的所有组件......)额外的库(angular2 / core ...)中构建所有依赖项,以及' bundle.js'。 /> 以及AccountModuleAccountModule.js的所有依赖关系,ContactModuleContactModule.js的所有依赖关系。
在生产中使用延迟加载。
这个问题的任何解决方案,谢谢

1 个答案:

答案 0 :(得分:0)

如果生成单个捆绑包...只能加载它。您必须创建不同的捆绑包。

例如,一个用于angular和rxjs的包,另一个用于主ng模块,另一个用于每个惰性模块。

我在最后几天一直在测试它,看看这个分支:

https://github.com/tolemac/systemjs-test/tree/bundle-format-system?files=1

它是一个小角度应用程序的示例,使用捆绑包供应商,应用程序和懒惰模块。

克隆回购,结帐"捆绑格式系统"分支," npm install"和" gulp捆绑"