2016-10-26 6 views
9

Недавно я использовал JSPM для своих угловых проектов 2 и нашел, что это очень просто и удобно для работы. И когда дело доходит до добавления новых модулей и создания пакета для производства.JSPM vs WebPack for Angular 2

Это в основном просто:

jspm install npm:@angular/somepackage 

и package.json и system.js конфиги обновляются автоматически для меня.

Когда я хочу, чтобы создать производство комплекта я просто сделать это:

jspm bundle-sfx app/main app-bundle.min.js --minify 

И использовать его я просто сделать HTML как это:

<body> 
    <my-app>Loading...</my-app> 
    <script src="app-bundle.min.js"></script> 
</body> 

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

Настройка разработки также является удовлетворительной - перезагрузка приложения достаточно быстро, и отладка идет хорошо. Также очень хорошо иметь возможность использовать практически любой модуль из репозитория NPM через JSPM.

При чтении статей у меня создается впечатление, что люди переходят на веб-пакет для приложений Angular 2. Я не перешел на webpack сам, потому что я думаю, что моя настройка работает нормально, а webpack кажется намного более сложной.

Тем не менее я обеспокоен тем, что поддержка JSPM исчезнет, ​​поскольку кажется, что все больше и больше переходят на webpack.

Должен ли я переключиться на веб-пакет из-за этого? Переключение на webpack даст мне некоторые преимущества, которые я не обнаружил?

У меня есть некоторые очень простые угловые 2 быстрые шаблоны начала демонстрирующих мои настройки, которые можно найти здесь: https://github.com/fintechneo/angular2-templates

был бы очень рад получить некоторые мнения о преимуществах перехода на WebPack для этой установки.


UPDATE 2017-03-26

Поскольку этот вопрос был вывешен я обнаружил необходимость еще более быстрое время загрузки для производства сборки. Несмотря на то, что JSPM (или webpack) создает оптимизированный пакет, он все еще слишком велик и требует, чтобы шаблоны углов2 были скомпилированы после загрузки пакета.

Итак, я нашел поваренную книгу компилятора «Вперед» (https://angular.io/docs/ts/latest/cookbook/aot-compiler.html) - которая создает небольшие пучки, которые начинаются не сразу после загрузки.

Для этого потребовалось установить параллельную установку, хотя все угловые модули были установлены с использованием npm (не jspm). Вероятно, можно использовать JSPM для этого тоже с некоторыми усилиями, но я еще не изучил его. Оба JSPM и эта кулинарная книга AoT используют накопительный пакет, поэтому он должен был бы интегрировать шаг компилятора ngc с JSPM, но сложной задачей является заставить TypeScript использовать jspm_packages, а не node_modules.

Ссылка выше с настройкой обновляется с помощью AoT и по-прежнему использует JSPM для среды dev.

ответ

5

Этот ответ требует разбивки следующим образом.

SystemJS v JSPM

JSPM по существу SystemJS с тем преимуществом, что JSPM настроит systemjs.config.js для вас. Я люблю JSPM, когда он работает (что, к сожалению, не всегда).

Выгода здесь в том, что JSPM также связывает ваши файлы JS для вас.

JSPM v Webpack

Учитывая, что JSPM фактически используется SystemJS под капотом этот вопрос, по существу, мы должны использовать SystemJS или Webpack.

Не снова! Я ответил на это до (верхний ответ) здесь ..

What are differences between SystemJS and Webpack?

Краткое повторение этого содержания является то, что Webpack не заменяет SystemJS (или JSPM) он просто делает их излишними.

Однако здесь есть твист, в котором JSPM обеспечивает соединение. Итак, зачем переходить на Webpack?

Преимущества JSPM - простота настройки.

Эта же польза также является ее падением, поскольку простота настройки означает отсутствие опций и отсутствие опций - отсутствие контроля.

Webpack не только связывает файлы JS, но также связывает CSS, HTML и все остальное в один файл bundle.js, который (после кэширования) делает приложения Webpack молниеносно (но медленно загружается изначально).

Кроме того, JSPM удовлетворяет потребность в комплекте, но как вы собираетесь перекрыть файлы с помощью JSPM? например Если я хочу использовать Stylus вместо CSS, то что будет переводить мои файлы Stylus в CSS? Я собираюсь бросить Gulp в микс (который у меня убит горем, теперь есть 1/3 загрузки Webpack, но он вел 6 месяцев назад). Или переключиться на Webpack?

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

+0

Вы создали webpack с сборками AoT, как описано в моем обновленном вопросе? –

+0

Я начал работу с Webpack для одного из клиентских проектов в моей компании, и это действительно хорошо, даже после 9 месяцев. Проект также живет сейчас. Наслаждайтесь использованием Webpack. –

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

  • Нет связанных вопросов^_^