próbuje zminimalizować skompilowany kod źródłowy projektu do produkcji, Używam Gulpa jako biegacza zadania.Jak połączyć (zminimalizować) skompilowane elementy Angular 2?
plików źródłowych wyglądać tak,
html
<!--... . . various scripts and styles . . . . . --->
<script src="node_modules/angular2/bundles/angular2.dev.js"></script>
<script src="node_modules/angular2/bundles/router.dev.js"></script>
<script src="node_modules/angular2/bundles/http.dev.js"></script>
<script>
System.config({
packages: {
app: {
format: 'register',
defaultExtension: 'js'
}
}
});
System.import('app/main')
.then(null, console.error.bind(console));
</script>
</head>
<body>
<app></app>
</body>
moja aplikacja struktura katalogów jest następująca,
.
├── main.js
├── main.js.map
├── main.ts
├── main.app.js
├── main.app.js.map
├── main.app.ts
├── x.component1
│ ├── x.component.one.js
│ ├── x.component.one.js.map
│ └── x.component.one.ts
└── x.component2
├── x.component.two.js
├── x.component.two.js.map
└── x.component.two.ts
app/main.ts
import {bootstrap} from 'angular2/platform/browser';
import {MyAwesomeApp} from './main.app'
bootstrap(MyAwesomeApp);
main.app.ts
@Component({
selector: 'app',
template: `
<component-1></component-1>
<component-2></component-2>
`,
directives: [Component1, Component2]
})
export class MyAwesomeApp {
}
następnie składniki,
@Component({
selector: 'component-1',
template: `
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Beatae ducimus, saepe fugit illum fuga praesentium rem, similique deserunt tenetur laudantium et labore cupiditate veniam qui impedit, earum commodi quasi sequi.
`
})
export class Component1 {
}
i
@Component({
selector: 'component-2',
template: `
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Beatae ducimus, saepe fugit illum fuga praesentium rem, similique deserunt tenetur laudantium et labore cupiditate veniam qui impedit, earum commodi quasi sequi.
`
})
export class Component2 {
}
wszystkie pliki maszynopis są kompilowane do ES5 JavaScript, dodatkowo trzeba by minified main.js
więc moje pytania są
- mogę uruchomić zadanie zebrać wszystkie skompilowane
.js
pliki do minify do jednego pliku i odniesienie go jakomain
w branży produkcyjnej? - Czy to powoduje przerwanie importu systemu modułów {x} z "y"?
- Jeśli złamie system ładowania modułów, co można zrobić, aby połączyć pliki w aplikacji Angular 2?
moja wersja maszynopis jest 1.8.2
Dziękuję za wszelką pomoc.
Świetne pytanie! – user65439