Ich versuche Angular2 mit Webpack zu kompilieren; hier ist mein Setup: Ich habe eine vendor.ts Datei, in die ich habe:Webpack, Angular2 Wiederaufbau Optimierung
import 'es6-shim/es6-shim.min';
import 'reflect-metadata/Reflect.js';
import 'zone.js/dist/zone';
import '@angular/platform-browser';
import '@angular/platform-browser-dynamic';
import '@angular/core';
import '@angular/common';
import '@angular/http';
import '@angular/router-deprecated';
Mein webpack.config.js
:
"use strict";
let path = require('path');
let webpack = require("webpack");
let CommonsChunkPlugin = webpack.optimize.CommonsChunkPlugin;
let ProvidePlugin = webpack.ProvidePlugin;
let UglifyJsPlugin = webpack.optimize.UglifyJsPlugin;
module.exports = {
devtool: 'source-map',
debug: true, // set false in production
cache: true,
entry: {
vendor: './app/vendor.ts',
app: './app/main.ts'
},
output: {
filename: './public/assets/js/[name].js'
},
plugins: [
new webpack.optimize.OccurenceOrderPlugin(true),
new webpack.optimize.CommonsChunkPlugin({name: 'vendor', filename: './public/assets/js/vendor.js', minChunks: Infinity}),
new UglifyJsPlugin({
compress: {
warnings: false
}
})
],
module: {
loaders: [
{
test: /\.ts$/,
loader: 'ts-loader',
query: {
'ignoreDiagnostics': [
2403, // 2403 -> Subsequent variable declarations
2300, // 2300 -> Duplicate identifier
2374, // 2374 -> Duplicate number index signature
2375 // 2375 -> Duplicate string index signature
]
},
exclude: [/\.(spec|e2e)\.ts$/, /node_modules\/(?!(ng2-.+))/]
}
]
},
resolve: {
extensions: ["", ".ts", ".js"]
}
};
Also, alles in Ordnung ist, webpack ist das Zeug kompilieren, aber es ist zu langsam. Es dauert 15089ms. Ich plane, dies als eine Schluckaufgabe hinzuzufügen, aber das wird nicht funktionieren, ich muss für jeden Speicher 3-5 Sekunden warten. Ist es möglich, ein Setup einzurichten, bei dem sich die Chunks nicht ändern, um eine Kompilierung zu verhindern? Dies würde die Leistung sehr verbessern. Vielen Dank im Voraus für jede Hilfe.
Danke für Ihre Antwort. Dies verbesserte die Leistung ein wenig, aber immer noch nicht genug. Ist immer noch ziemlich langsam und die Dateien sind jetzt zu groß. Ich denke, ich muss Webpack loswerden und evulithing mit Schluck machen. Dann denke ich, ich hätte mehr Kontrolle darüber, was ich kompilieren könnte. Weil ich wirklich die Verkäufer brauche, die nur kompiliert werden, wenn der Server gestartet wird. Und nur die app.js auf Änderungen in App-Verzeichnis neu zu kompilieren. – Alex
sollte es schnell sein, aktivieren Webpack Watch-Modus: 'watch: true' – kemsky
ty, Mann, das hat den Trick :) – Alex