Почему вам следует воспользоваться мощью модулей ES, упростив и ускорив процесс разработки
Задом наперед?
Должен признаться, я люблю упрощать вещи. Я хочу, чтобы мой внутренний код был похож на мой внешний код. Это означает использование современного JavaScript (ES6 +) как на стороне клиента, так и на сервере. Я также хочу обрабатывать зависимости таким же образом, то есть не включать их в свое репо и легко импортировать их. На стороне сервера это теперь возможно благодаря поддержке npm и модуля ES в node.js. На стороне клиента это теперь возможно с поддержкой npm, ES-модуля в браузере и Snowpack!
Сервер
Итак, давайте посмотрим, что мы можем делать на сервере благодаря node.js версии 13.9.0+.
Обратите внимание на расширение .mjs, оно сообщает узлу, что мы находимся в стране модулей ES. Теперь все, что нам нужно сделать, это установить socket.io…
npm i socket.io
Тогда вы можете просто запустить его с помощью:
node server.mjs
Клиент
Итак, чтобы добиться похожего внешнего вида кода во внешнем интерфейсе, например:
Нам нужно использовать Snowpack на клиенте, чтобы все вышеперечисленное работало…
npm i -D snowpack npm i socket.io-client
Затем обновите свой package.json, скрипты, чтобы он выглядел так:
Теперь вы можете сделать это:
npm run dev
Это запустит быстрый сервер веб-разработки, который следит за вашим кодом на предмет изменений и позорит веб-пакет ;-).
npm run build
… Будет встроен в статический каталог сборки, который можно развернуть где угодно.
Если вы хотите, чтобы ваша сборка была минимизирована и объединена, я обнаружил, что Snowpack отлично справляется со своей задачей, просто добавьте следующее:
Поскольку Snowpack использует esbuild для объединения и минимизации, он работает очень быстро, благодаря написанию на Go!
Резюме
Snowpack - это взгляд в будущее веб-разработки. Webpack слишком сложен для небольших проектов и слишком медлен для больших проектов, его дни, безусловно, должны быть сочтены. Использование в Snowpack таких удивительных инструментов, как esbuild и использование Svelte Snowpack, несомненно, являются хорошими индикаторами того, к чему все идет. Если бы только можно было пропустить использование npm… shush Deno.