2016-09-27 15 views
7

Mam strukturę aplikacji tak:Jak wykonać dzielenie kodu za pomocą pakietu internetowego w aplikacji kątowej 2?

├── /dashboard 
│ ├── dashboard.css 
│ ├── dashboard.html 
│ ├── dashboard.component.ts 
│ ├── dashboard.service.ts 
│ ├── index.ts 
├── /users 
│ ├── users.css 
│ ├── users.html 
│ ├── users.component.ts 
│ ├── users.service.ts 
│ ├── index.ts 
├── /login 
│ ├── login.css 
│ ├── login.html 
│ ├── login.component.ts 
│ ├── login.service.ts 
│ ├── index.ts 
├── app.component.ts 
├── app.module.ts 
├── app.routes.ts 
├── app.styles.css 

I chcę zakodować podzielić moją aplikację na coś takiego:

├── dashboard.js 
├── users.js 
├── login.js 
├── app.js 

nie mogę wydawać się znaleźć przykład, jak mogę to zrobić z pakietem internetowym. Tak więc 2 pytania. Czy można to zrobić? I, jak to zrobić?

Wszelkie wskazówki lub pomoc będą mile widziane. Badałem to przez cały ranek.

Dokumentacja kątowa sugeruje, że jest to here, ale nie ma przykładów ani samouczków, które można znaleźć. Więc jest to możliwe, ale nikt nie wie, jak to zrobić ?.

można znaleźć konfigurację WebPACK here

Odpowiedz

2

Będziesz musiał umieścić każdy z nich jako punkt wejścia

entry: { 
    'dashboard': './src/dashboard/index.ts', 
    'users': './src/users/index.ts', 
    'login': './src/login/index.ts', 
    'app': './src/app.module.ts' 
} 

a następnie upewnij się, że kod nie jest duplikat na poszczególnych punktach wejścia ustalonych je w wtyczce commons chunk. Kolejność jest ważna kod spotykanych w aplikacji, a następnie również ważne w desce rozdzielczej lub użytkownicy będą wyświetlane tylko w tej ostatniej jest ona obecna/wymagane

plugins: [ 
    new webpack.optimize.CommonsChunkPlugin({ 
     name: ['app', 'dashboard', 'login', 'users'] 
    }) 
] 

można również zaczerpnąć inspiracji tutaj. https://angular.io/docs/ts/latest/guide/webpack.html#!#common-configuration

+0

Nie otrzymuję zachowania, którego oczekiwałem. Korzystam z tras asynchronicznych z: { ścieżka: "pulpit nawigacyjny", loadChildren:() => System.import ("./ dashboard") }, ale kiedy dodaję powyższy kod, plik jest ładowany do aplikacji init. Może mam złe konfiguracje? –

+0

Czy generuje teraz oddzielne pliki? Czy mógłbyś dodać swoją konfigurację WebPacka do swojego posta? – Eldin

+0

Dodałem link. –

Powiązane problemy