Глоток с WebPack. Что должно строить мой кофе / нефрит и т. Д.?

У меня есть уже существующий проект, который в настоящее время использует gulp.

Ключевые библиотеки/фреймворки/языки:

  • MongoDB — Мангуст
  • AngularJS — с ui-router, также с использованием ngClassify
  • ExpressJS — с паспортом
  • NodeJS
  • Джейд
  • Кофескрипт
  • Sass — формат «.sass»
  • JPG/PNG

В настоящее время все просматривается с помощью перезагрузки в реальном времени, минимизируется с помощью uglify и сжимается с помощью gzip. Мои угловые фрагменты html-представления/директивы отправляются в js-файл кеша шаблона. Даже изображения уменьшены с помощью image min.

Одностраничное приложение имеет очень модульный дизайн, в приложении есть несколько «страниц», каждая страница имеет определенное использование (например, страница профиля), используя ui-route для вложенных представлений. Не все пользователи будут использовать каждую страницу. Поэтому я решил перейти к WebPack, где каждая «страница» является модулем. Цель этого приложения — быть максимально реактивным. С возможным небольшим временем загрузки при переключении страницы/модуля, на котором они находятся.

В моей текущей структуре проекта есть каталоги src и dist, в каждом из которых есть папка сервера и клиента. каталог списка, конечно, можно безопасно удалить при каждой сборке. В настоящее время у меня нет необработанных файлов js или необработанного html (кроме gulpfile.js, для которого просто требуется мой gulpfile.coffee), все предварительно обрабатывается gulp и все.

Итак, вот мои вопросы:

  1. Заменяю ли я большую часть моего gulpfile веб-пакетом и позволяю веб-пакету обрабатывать все (в чем преимущество этого). Или я создаю промежуточную папку (выход gulp), а затем запускаю веб-пакет в этой папке (имея дело только с мини-файлами js/css/html). По сути, зная мои библиотеки/фреймворки и мою ситуацию, как бы вы структурировали процесс сборки?
  2. Можете ли вы использовать файл app.coffee ngClassify в качестве точки входа? Или его нужно предварительно собрать. (Если можно, то как?)

person David Dudson    schedule 10.06.2015    source источник
comment
Дэвид, вы когда-нибудь находили решение этого вопроса (вопросов). Если бы вы это сделали, ответ был бы очень признателен. Спасибо :)   -  person Charlie-Greenman    schedule 16.09.2015
comment
Извините за поздний ответ. В конце концов, я использовал веб-пакет почти для всего, что касается клиента, а затем использовал gulp для компиляции сервера и задач копирования. В более поздних проектах я вообще не использую gulp, а просто цепляю задачи nodejs. Вся сложность управляется веб-пакетом, поэтому на самом деле сборка довольно проста.   -  person David Dudson    schedule 18.05.2016
comment
Соединяя команды запуска npm, вы можете получить довольно эффективную цепочку сборки, к сожалению, мой последний проект был закрытым. Но вот часть моего списка сценариев в моем package.json gist.github.com/DavidDudson/4ad791bce3dc11a049311a013000f0000f004   -  person David Dudson    schedule 18.05.2016


Ответы (1)


Вы, безусловно, можете использовать Gulp для запуска сборки Webpack и управления другими задачами. однако идея Webpack заключается в том, что это вся ваша сборка, вам больше не нужны задачи Gulp для «минификации», «объединения» и «изображения» файлов и т. д., поскольку Webpack делает все это за вас, используя Плагины и Загрузчики.

Вам нужно будет запустить Webpack в исходном коде проекта, а не в уже минимизированном пакете, созданном вашей пользовательской сборкой Gulp.

Боюсь, на угловые вопросы у меня нет ответа :)

person Matt Derrick    schedule 24.09.2015