Угловой с Ivy + Webpack - пучки больше, чем раньше
Я обновился до Angular 8.0, когда выбрал "Плющ". Все компилируется нормально, но результаты были неутешительными с точки зрения размеров пакета. На самом деле, мой пакет поставщиков с Angular увеличился в размерах по сравнению с ng7.
Не настроен правильно?
- Я использую Node 12
- @angular 8.0 с @ngtool 8.01
TSconfig
{
"compileOnSave": false,
"compilerOptions": {
"baseUrl": ".",
"noImplicitAny": false,
"noEmitOnError": true,
"sourceMap": false,
"inlineSourceMap": false,
"target": "es5",
"module": "es2015",
"moduleResolution": "node",
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"allowSyntheticDefaultImports": false,
"allowJs": false,
"noStrictGenericChecks": true,
"noEmit": false,
"lib": [ "es6", "dom" ],
},
"angularCompilerOptions": {
"skipMetadataEmit": true,
"enableIvy": "ngtsc",
"allowEmptyCodegenFiles": true
}
}
1 ответ
Новый компилятор Angular (Ivy) пока только экспериментален и даже не полностью стабилен.
Вы можете попробовать это, если вы используете Angular 8, передав флаг enableIvy
как ты сделал. Но это не значение по умолчанию (сейчас) по уважительной причине. Вы не должны использовать это в Prod (пока).
Вы не получите ничего полезного, активировав Айви прямо сейчас. Они изменили способ работы компилятора, и одна из причин состоит в том, чтобы лучше качать дерево. Но инструментальные средства, которые еще не были обновлены (на мой взгляд, вероятно, появятся только в версии 9).
Пока что можно использовать Ivy в качестве бета-тестера и сообщать о любых проблемах, с которыми вы можете столкнуться в команде. Вы также столкнетесь с проблемами с библиотеками, которые еще не были обновлены для его поддержки. Поэтому я бы не рекомендовал использовать его в продуктах.
PS:
Я также говорил об этом в этой теме https://github.com/angular/angular/issues/13721 (я рассказываю кое-что об Айви, но также даю ответ кому-то, оскорбляющему сопровождающих, так что не возиться с этой частью...)