Почему вам следует воспользоваться мощью модулей 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.