Angular Ivy компилятор и веб-пакет - PullRequest
6 голосов
/ 18 июня 2019

Мы хотели бы использовать новый компилятор Angular 8 Ivy с веб-пакетом.Мы не используем Angular CLI.Это возможно?Как это может быть сделано?Я не могу найти информацию относительно этого требования.

Ответы [ 3 ]

6 голосов
/ 27 июня 2019

Чтобы узнать, что делать, вам нужно покопаться в коде Angular CLI и увидеть, где именно они используют флаг enableIvy.

Я не видел вашу конфигурацию Webpack, но я полагаю, что вы используете AngularCompilerPlugin.
Если это так, то вы должны указать enableIvy в compilerOptions.

Для получения более подробной информации смотрите здесь (где определен флаг), здесь (где определены параметры плагина) и здесь (гдеcompilerOptions плагина инициализируются).

Конфигурация плагина, вероятно, будет выглядеть следующим образом:

... // The rest of your webpack config
plugins: [
  new AngularCompilerPlugin({
    compilerOptions: {
      enableIvy: true,
      ...// the rest of compiler options
    }
    ...// The rest of options you provide to AngularCompilerPlugin
  })
  ...// The rest of your plugins 
]

Я не уверен, используют ли они этот флаг в других местах, но это место обязательно, и оно, вероятно, даст вамто, что ты хочешь.

В любом случае, если вы хотите избавить себя от головной боли, я бы порекомендовал вам придерживаться Angular CLI.
В противном случае вам придется посещать их кодовую базу довольно часто.

Если вы используете Webpack, то, скорее всего, вы сможете делать то, что вам нужно, с помощью Angular CLI и Custom Webpack Builder .
Если вам сложно настроитьстроитель, добро пожаловать в Angular Builders Slack channel .

3 голосов
/ 25 июня 2019

Плющ еще не выпущен официально.В версии 8 Angular вы можете выбрать предварительный просмотр с помощью интерфейса командной строки.

См .: https://blog.angular.io/a-plan-for-version-8-0-and-ivy-b3318dfc19f7

В версии 9 Angular должен быть полностью переключен на Ivy. Вероятно, вы найдете большеДокументация по использованию Ivy с пользовательской конфигурацией веб-пакета.

До этого я предлагал бы одно из следующего:

  1. Откройте новый выпуск на Angular Builders Сделайте репо и задайте этот вопрос там.Angular builders - это альтернатива go * to ng eject , и они, вероятно, будут иметь больше ответов, чем среднее переполнение joe в стеке, когда речь заходит о таких проблемах.
  2. Открыть проблему наУгловой репо и задайте этот вопрос там.
2 голосов
/ 25 июня 2019

Плющ все еще в режиме предварительного просмотра. Если вы хотите попробовать выполнить действия, указанные на снимке экрана ниже,

Упоминается в официальной документации, https://angular.io/guide/ivy#using-ivy-in-an-existing-project

enter image description here

...