Node.JS [ru] | Серверный JavaScript
11.3K subscribers
93 photos
5 videos
25 files
3.28K links
Все о разработке backend части на JavaScript (Node JS).
А так же: Express JS, Next JS, Nest, Socket.IO

Канал на бирже - https://telega.in/c/we_use_js

По вопросам рекламы или разработки: @g_abashkin

РКН: https://vk.cc/cJPGOP
Download Telegram
​​esbuild-loader - Webpack лоадер на основе на esbuild

Значительно ускоряет скорость сборки благодаря тому, что esbuild в разы быстрее Webpack

В отличие от сырого esbuild, с esbuild-loader также можно подключать дополнительные настройки и плагины, как в и обычном Webpack

#jslib #javascript #frontend #webdev #esbuild #esm #webpack
​​WMR - многофункциональный инструмент для разработки современных веб-приложений

- HTML страница как входной файл
- Импорт модулей без установки
- Сборка и кеширование для npm модулей
- HMR для модулей, Preact компонентов и CSS
- Быстрая JSX транспиляция
- Поддержка CSS и CSS Modules
- Статика с HMR для графики и CSS
- Оптимизированная сборка для продакшена
- Пререндер страниц во время сборки
- Встроенная поддержка HTTP/2
- Поддерживает плагины для Rollup

#jstools #javascript #frontend #webdev #wmr #hmr #react #preact #rollup #bundling
​​Вышел Deno 1.6

Рантайм:
- Добавлена новая команда deno compile, с помощью которой можно собирать JavaScript и TypeScript код в исполняемый файл
- TypeScript обновлён до 4.1
- Поддержка сигналов для EventTarget
- Поддержка URL для Deno.readLink

std:

- в std/http добавилась валидация cookie
- в std/node setImmediate и clearImmediate были добавлены в глобальную область видимости
- в std/node/stream добавились Duplex, Transform, Passthrough, pipeline, finished и промисы

#jsrelease #javascript #deno #backend #webdev #typescript
​​Вышел Node.js 15.4

- Добавилась поддержка AbortController
- Поддержка сигналов в EventTarget
- Поддержка цепочки вызовов в res.setHeader в http модуле
- В worker был добавлен экспериментальный BroadcastChannel

#jsrelease #javascript #nodejs #backend #webdev
Сравнение производительности циклов в JavaScript

В статье описаны результаты анализа бенчмарков разных видов циклов, таких как forEach, while, for ... in и т.д.

В разных браузерах производительность видов циклов разная, т.к. у каждого браузера свои оптимизации. В Chrome самым быстрым оказался for, в Firefox forEach, for и map.

Хуже всего по производительности оказался for...in в обоих браузерах, и while в Firefox.

#jsarticle #javascript #frontend #webdev #perf
Ускорение CSS-in-JS в 175 раз

В статье описан процесс оптимизации стилей на Emotion путём его замены на Linaria, использованием data атрибутов и CSS переменных

#jsarticle #cssinjs #css #javascript #frontend #webdev #react
Microsite — статический генератор сайтов, основанный на Preact и Snowpack, поддерживающий автоматическую частичную регидрацию

Примечателен тем, что в отличие от веб фреймворков, таких как Next.js, Microsite отсылает в браузер только тот код, который используется страницей, при этом не отправляя код библиотек. В результате получаются очень быстрые страницы с минимальным количеством JavaScript.

Из других фич можно выделить:
- Генерация в ESM модули, как для серверной части, так и для клиентской
- Поддерживается JS, JSX и TSX
- Использует Preact в отличие от Next, что позволяет уменьшить размер бандла
- Поддержка CSS модулей из коробки
- getStaticProps для получения данных при сборке
- Управление глобальным состоянием через createGlobalState
- Поддержка TypeScript из коробки

#jslib #javascript #frontend #webdev #preact #ssg #typescript
Вышел tinyhttp 1.1

- В @tinyhttp/markdown добавлена опция для кэширования, рекурсия теперь включена по дефолту (что избавляет от зависимости readdirp) и вместо превращения в строку и вызова res.send теперь используются Node.js Streams, чтобы рендерить markdown через потоки
- Исправлены баги с неправильными значениями у req.url, req.path и req.originalUrl
- Исправлена некорректная кодировка для res.redirect
- Исправлено некорректное наследование настроек шаблонизатора для res.render

#jslib #backend #webdev #javascript #typescript #tinyhttp #nodejs
Команда React анонсировала серверные компоненты

В React в будущем планируется добавить новый тип компонентов - Server Components. В отличие от обычных (Client Components), рендярятся только на сервере и не отправляют никакого JavaScript в браузер

Для ознакомления
- Видео-анонс
- демо с кодом
- RFC

Сейчас концепт находится в процессе изучения и разработки, поэтому он нескоро будет добавлен в React

#jsarticle #javascript #react #frontend #webdev
Мы отрендерили миллион страниц, чтобы узнать что делает их медленнее

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

#jsarticle #javascript #frontend #webdev #perf