2016-12-21 2 views
11

Мы сейчас переписываем наш проект ng1 с ng2. Наш проект ng1, когда он построен, составляет около 8 мб. Мы примерно четверть пути в нашей переписывающейся версии для ng2, и мы уже находимся в 14mb для нашей сборки ng2 prod.Почему проекты Angular 2 настолько велики

Основная разница в размере папки dist может быть отнесена к разным размерам исходных карт. Оба проекта включают исходные карты, но исходные карты ng2 намного больше. Это имеет смысл для меня, поскольку ng2 имеет больше шаблонов, компоненты выделены и так далее.

Первоначально этот вопрос был поставлен на удержание, поскольку он был слишком велик, чтобы ответить. Согласен. Но именно поэтому я спрашиваю об этом. Я пытаюсь понять все предложения ng2, которые сделают конечный продукт ng2 лучше, чем версия ng1.

С какими практическими подходами/процедурами/инструментами, которые мы можем применить к нашей практике разработки ng2, чтобы сохранить конечные размеры маленькими и, в свою очередь, быстро работать с пользователями?

+1

Вы включаете все исходные файлы (включая файлы TS) в сборку? –

+0

@ AnthonyC Я не верю, все, что я вижу, это chunked js-файлы. Каков наилучший способ проверить, есть ли там файлы ts? – Nik

+1

Зависит от вашей конфигурации сборки, если вы открываете эти JS-файлы, вы видите что-то вроде '// # sourceMappingURL =' в последней строке? –

ответ

6

Я испытывал угловые 2 другой день, и я столкнулся с таким же вопросом, как и вы, мой vendor.js был 6M, и это было просто «Hello World» приложение ...

Я нашел следующее сообщение, которое помогло мне понять, как мы должны действовать по этому вопросу (на данный момент): http://blog.mgechev.com/2016/06/26/tree-shaking-angular2-production-build-rollup-javascript/

Он использует несколько методов оптимизации и сжатия (precompile, treeshake, minify, bundle и gzip) в своем приложении 1.5M для уменьшите его размер до 50 килобайт.

Проверьте это, надейтесь, что это поможет! :)

+0

хорошая ссылка ravi. Я вижу, что он идет от 1.4mb до 128kb, просто с помощью minification и gziping. Мы делаем это как для ng1, так и для ng2, так что даже если разница в размерах огромна, для нас это всегда было. Rollup и AoT, однако мне придется посмотреть и посмотреть, что мы можем использовать там – Nik

+2

Я столкнулся с тем же вопросом некоторое время назад, затем я прочитал об AoT, дрожании дерева, gzip, minification, все остальное. Я нашел это репо, https://github.com/qdouble/angular-webpack2-starter. Проверьте это. Я использую это сейчас в различных сборках. – Everett

Смежные вопросы