Angular: Как создавать файлы, которые совпадают с файлами, создаваемыми ng - PullRequest
0 голосов
/ 29 августа 2018

Я оптимизирую свое приложение Angular и использую webpack-bundle-analyzer для проверки размера пакетов. Когда я запускаю ng build --stats-json, он создает файлы bundle.js и создает файл json, который анализирует webpack-bundle-analyzer. Это работает, как и ожидалось, но есть способ построить угловое приложение без оптимизаций, которые выполняет ng build, то есть получить файлы, которые являются теми же файлами, которые ng serve производит. Я хочу этого, потому что мое приложение действительно большое и его загрузка занимает 15 секунд при разработке. Поэтому я хотел бы иметь возможность проверить и эти файлы.

Ответы [ 3 ]

0 голосов
/ 07 сентября 2018

Я всегда использую эту командную строку для получения файлов raw , без оптимизации (но с более коротким временем сборки):

ng build --stats-json --source-map=false --build-optimizer=false

Попробуйте добавить его в файл package.json в разделе scripts.

См. Полный список параметров командной строки в официальной документации сборки angular cli .


AOT используется по умолчанию для prod, но не для serve и build. Поэтому вам не нужно выключать его вручную, обычно:

JIT-компиляция используется по умолчанию при выполнении команд CLI "только для сборки" или "build-and-serve-localally"

[...]

По умолчанию мета-флаг --prod компилируется с AOT.

https://angular.io/guide/aot-compiler

0 голосов
/ 07 сентября 2018

Другим способом оптимизации вашего приложения будет использование комбинации ленивых модулей с библиотеками. Это действительно разделит ваше приложение на отдельные артефакты, сократив время загрузки.

Смотрите здесь о библиотеках: https://github.com/angular/angular-cli/wiki/stories-create-library

0 голосов
/ 05 сентября 2018

К сожалению, вы не можете, потому что ng serve работает в памяти и не записывает на диск.

В качестве обходного пути вы можете использовать отладчик вашего браузера или посетить свой dev-сервер по пути / webpack-dev-server (то есть, если вы используете angular на порте 4200, перейдите на http://localhost:4200/webpack-dev-server).

...