W mojej próbkę Kątowymi 2 SPA użyłem WebPACK 2 w celuJak sprawdzić, czy AoT działa, czy nie [Webpack 2, Angular 2]?
- Bundle wszystkie moje js pliki
- osprzętem "Drzewo Shaking", aby usunąć martwy kod i zmniejszyć Bundle js rozmiar pliku
- i do implementacji kompilacji Ahead-of-time w celu dalszego zmniejszenia rozmiaru pliku js.
udało mi się achive "1" i "2", tworząc plik webpack.config.js i poniżej zawartość tego pliku
'use strict';
const webpack = require('webpack');
module.exports = {
devtool: 'source-map',
entry: './src/main.js',
plugins: [
new webpack.optimize.UglifyJsPlugin({
minimize: true,
compress: false
})
],
output: {
filename:'./src/bundle.js'
}
}
"webpack.optimize.UglifyJsPlugin" wtyczka, która obsługuje drżenie drzewa i minimalizowanie, zmniejszyła rozmiar pliku bundle.js z 3 mb na 1 mb.
Następnie, aby zaimplementować kompilację AoT, użyłem @ngtools/webpack, a poniżej jest zmodyfikowany plik webpack.config.js z kodem pokrewnym AoT.
'use strict';
const webpack = require('webpack');
const AotPlugin = require('@ngtools/webpack').AotPlugin;
module.exports = {
devtool: 'source-map',
entry: './src/main.js',
module: {
rules: [
{
test: /\.ts$/,
loader: '@ngtools/webpack'
}
]
},
plugins: [
new webpack.optimize.UglifyJsPlugin({
minimize: true,
compress: false
}),
new AotPlugin({
tsConfigPath: 'src\\tsconfig.json',
mainPath: 'main.ts',
"skipCodeGeneration": true
}),
],
output: {
filename:'./src/bundle.js'
}
}
Po AoT rozmiar pliku bundle.js jest nadal taki sam (1 mb).
Teraz moje pytanie brzmi: jak mogę sprawdzić/wiedzieć, czy kompilacja AoT działa, czy nie?
Żadna z odpowiedzi nie wyjaśnia, jaki błąd popełniłem, jeśli są jakieś wspomniane 3 kroki, lub co musi być zmodyfikowany ... – refactor