всем привет, в этой статье мы поговорим о некоторых особенностях node js версии 18 и версии 19.
FindLast и FindLastIndex
Эти методы массива аналогичны find и findIndex , функционально идентичны find и findIndex. Но есть некоторая разница, эти методы ищут элемент в массиве с конца.
const array = [{ value: 1 }, { value: 2 }, { value: 3 }, { value: 4 }]; array.find(n => n.value % 2 === 1); // { value: 1 } array.findIndex(n => n.value % 2 === 1); // 0 // find array.findLast(n => n.value % 2 === 1); // { value: 3 } // findIndex array.findLastIndex(n => n.value % 2 === 1); // 2 array.findLastIndex(n => n.value === 42); // -1
--watch flag
Я думаю, что этот флаг очень важен. нам больше не нужен nodemon, если мы можем использовать этот флаг. Запуск приложения Node.js в режиме наблюдения автоматически перезапускает процесс при изменении импортированного файла.
node --watch app.js
Встроенный API выборки
До Node.js v18 вы не могли использовать Fetch API в Node.js для запроса данных из API. Вам приходилось устанавливать node-fetch, axios или другую стороннюю библиотеку. С node js v18 нам не нужны никакие сторонние пакеты для выборки.
async function fetchData() { const response = await fetch( "https://random-data-api.com/api/name/random_name" ); if (response.ok) { const data = await response.json(); console.log(data); } } fetchData();
Основные модули только с префиксами
Новый способ «импорта» модулей, который использует префикс «node:», который сразу делает очевидным, что модули взяты из ядра Node.js.
Встроенный модуль запуска тестов
С выпуском Node.js v18 средство запуска тестов теперь включено в Node.js, и к нему можно получить доступ с помощью:
const test = require('node:test') const assert=require('node:assert') test("My Test", async (t) => { await t.test("It should equal two numbers", () => { assert.equal(3, 4); }); await t.test("It should not equal two numbers", () => { assert.notEqual(2, 1); }); }); //node --watch yourfile.js
детали модуля assert находятся здесь.
Двигатель V8 обновлен до v10.1
Node.js работает с движком V8 из браузера с открытым исходным кодом Chromium. Этот движок был обновлен до версии 10.1, которая является частью недавнего обновления Chromium 101.
Тайм-ауты HTTP
Тайм-ауты http.server изменились:
headersTimeout
(время, отведенное для анализа заголовка HTTP-запроса) установлено на 60000 миллисекунд (60 секунд).requestTimeout
(время ожидания, используемое для HTTP-запроса) по умолчанию установлено на 300000 миллисекунд (5 минут).
для получения дополнительной информации нажмите здесь.
Всем хорошей работы.