The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]



"Выпуск серверной JavaScript-платформы Node.js 17.0"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Изначальное сообщение [ Отслеживать ]

"Выпуск серверной JavaScript-платформы Node.js 17.0"  +/
Сообщение от opennews (??), 19-Окт-21, 23:04 
Состоялся релиз Node.js 17.0, платформы для выполнения  сетевых приложений на языке JavaScript. Node.js 17.0 относится к ветке с обычным сроком поддержки, обновления для которой будут выпускаться до июня 2022 года. В ближайшие дни будет завершена стабилизация ветки Node.js 16, которая получит статус LTS и будет поддерживаться до апреля 2024 года. Сопровождение прошлой LTS-ветки Node.js 14.0 продлится до апреля 2023 года, а позапрошлой LTS-ветки 12.0 до апреля 2022 года...

Подробнее: https://www.opennet.ru/opennews/art.shtml?num=55997

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения [Сортировка по времени | RSS]


2. "Выпуск серверной JavaScript-платформы Node.js 17.0"  +/
Сообщение от Аноним (2), 19-Окт-21, 23:05 
А давно нода позволяет юзать await на верхнем уровне?
Ответить | Правка | Наверх | Cообщить модератору

4. "Выпуск серверной JavaScript-платформы Node.js 17.0"  +2 +/
Сообщение от Ненавижу SJW (?), 19-Окт-21, 23:25 
Ну в JS эту фичу завезли не так уж и давно
Ответить | Правка | Наверх | Cообщить модератору

5. "Выпуск серверной JavaScript-платформы Node.js 17.0"  +/
Сообщение от Ненавижу SJW (?), 19-Окт-21, 23:26 
Хотя наверное правильнее сказать в браузерные движки
Ответить | Правка | Наверх | Cообщить модератору

22. "Выпуск серверной JavaScript-платформы Node.js 17.0"  +/
Сообщение от Шелмимо (?), 20-Окт-21, 07:28 
Обзываем файл в виде name.mjs и получаем await на верхнем уровне.
Ответить | Правка | К родителю #2 | Наверх | Cообщить модератору

24. "Выпуск серверной JavaScript-платформы Node.js 17.0"  +1 +/
Сообщение от Шелмимо (?), 20-Окт-21, 07:41 
Да, это все начиная с v14.
В v12 еще нет такой фичи.
Ответить | Правка | Наверх | Cообщить модератору

36. "Выпуск серверной JavaScript-платформы Node.js 17.0"  +/
Сообщение от Агент (?), 20-Окт-21, 09:50 
Ничего мы не получаем, получаем разве что файл статического импорта, .mjs-расширение которого вообще то формальность, и который ещё нужно импортировать. И какое отношение статические импорты/экспорты имеют к промисам/async/await?
Ответить | Правка | К родителю #22 | Наверх | Cообщить модератору

38. "Выпуск серверной JavaScript-платформы Node.js 17.0"  +1 +/
Сообщение от Шелмимо (?), 20-Окт-21, 10:09 
form@work:/tmp$ cat test.mjs
const sleep = (ms) => new Promise((resolve) => setTimeout(resolve, ms));

console.log(new Date());
await sleep(2000);
console.log(new Date());
form@work:/tmp$ node test.mjs
2021-10-20T07:09:19.174Z
2021-10-20T07:09:21.179Z
form@work:/tmp$

Ответить | Правка | Наверх | Cообщить модератору

39. "Выпуск серверной JavaScript-платформы Node.js 17.0"  –1 +/
Сообщение от Агент (?), 20-Окт-21, 10:14 
Вопрос был в чём? Предоставить .mjs-модуль и что? Должна была произойти магия, где сразу можно await использовать? С промисом и я могу.
Ответить | Правка | Наверх | Cообщить модератору

41. "Выпуск серверной JavaScript-платформы Node.js 17.0"  +1 +/
Сообщение от Шелмимо (?), 20-Окт-21, 10:16 
Причем тут с промисом?
await в принципе применим либо к промису либо к async функции.
Речь о том, что await можно использовать в верхнем уровне без всяких async если файл - модуль.
Ответить | Правка | Наверх | Cообщить модератору

42. "Выпуск серверной JavaScript-платформы Node.js 17.0"  +3 +/
Сообщение от Шелмимо (?), 20-Окт-21, 10:18 
Вот так, чтобы понятнее было что имеется в виду:

form@work:/tmp$ node test.mjs
2021-10-20T07:17:53.543Z
2021-10-20T07:17:55.548Z
form@work:/tmp$ mv test.mjs test.js
form@work:/tmp$ node test.js
/tmp/test.js:4
await sleep(2000);
^^^^^

SyntaxError: await is only valid in async functions and the top level bodies of modules
    at Object.compileFunction (node:vm:352:18)
    at wrapSafe (node:internal/modules/cjs/loader:1025:15)
    at Module._compile (node:internal/modules/cjs/loader:1059:27)
    at Object.Module._extensions..js (node:internal/modules/cjs/loader:1147:10)
    at Module.load (node:internal/modules/cjs/loader:975:32)
    at Function.Module._load (node:internal/modules/cjs/loader:822:12)
    at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:81:12)
    at node:internal/main/run_main_module:17:47

Node.js v17.0.0
form@work:/tmp$

Ответить | Правка | Наверх | Cообщить модератору

56. "Выпуск серверной JavaScript-платформы Node.js 17.0"  +/
Сообщение от Шпаньков (?), 21-Окт-21, 14:05 
>await в принципе применим либо к промису либо к async функции.

Нет. await применим к абсолютно любому значению. Это просто сахар над Thenable.

await 123 // 123
await null // null
await {} // {}
await { then(r) { r('hello') } } // 'hello'

Ответить | Правка | К родителю #41 | Наверх | Cообщить модератору

40. "Выпуск серверной JavaScript-платформы Node.js 17.0"  +/
Сообщение от Шелмимо (?), 20-Окт-21, 10:15 
Кстати нода сама подсказывает эту фичу: если попытаться использовать await за пределами async, он подскажет что await можно использовать так же в теле модуля.
Ответить | Правка | К родителю #38 | Наверх | Cообщить модератору

3. Скрыто модератором  –12 +/
Сообщение от QwertyReg (ok), 19-Окт-21, 23:23 
Ответить | Правка | Наверх | Cообщить модератору

9. Скрыто модератором  +2 +/
Сообщение от 1 (??), 19-Окт-21, 23:32 
Ответить | Правка | Наверх | Cообщить модератору

11. Скрыто модератором  +/
Сообщение от Аноним (11), 19-Окт-21, 23:35 
Ответить | Правка | К родителю #3 | Наверх | Cообщить модератору

25. Скрыто модератором  +1 +/
Сообщение от Вася Вэбмакакин (?), 20-Окт-21, 07:43 
Ответить | Правка | К родителю #3 | Наверх | Cообщить модератору

27. Скрыто модератором  +/
Сообщение от Аноним (27), 20-Окт-21, 08:29 
Ответить | Правка | К родителю #3 | Наверх | Cообщить модератору

7. "Выпуск серверной JavaScript-платформы Node.js 17.0"  +/
Сообщение от Аноним (7), 19-Окт-21, 23:27 
А посоветуйте актуальной литературы? Ну там лучшие гайдлайны, популярные пакеты, всё вот это. В топе выдачи гугла ничего приличного нет. Лет 10 не трогал ноду.
Ответить | Правка | Наверх | Cообщить модератору

15. "Выпуск серверной JavaScript-платформы Node.js 17.0"  +1 +/
Сообщение от Аноним (15), 20-Окт-21, 00:08 
https://github.com/HowProgrammingWorks/Index/blob/master/Cou...
Ответить | Правка | Наверх | Cообщить модератору

44. "Выпуск серверной JavaScript-платформы Node.js 17.0"  +1 +/
Сообщение от Аноним (7), 20-Окт-21, 12:14 
Во-первых, это не литература. Текст гораздо проще воспринимать. Во-вторых, это ужасно. Ужасное качество записи, нет нормального микрофона, диктор мычит и толчёт воду в ступе, шокает и гыкает. Очень много времени тратит на совсем уж примитивные и очевидные вещи, повторяя их по несколько раз. Удручающе,
Ответить | Правка | Наверх | Cообщить модератору

8. "Выпуск серверной JavaScript-платформы Node.js 17.0"  –4 +/
Сообщение от Правильная вебмакака (?), 19-Окт-21, 23:29 
А для меня нода умерла когда мс купил.
Ответить | Правка | Наверх | Cообщить модератору

31. "Выпуск серверной JavaScript-платформы Node.js 17.0"  +/
Сообщение от Аноним (31), 20-Окт-21, 08:41 
... мс купил npm. Но с другой стороны npm максимально ненужный трешняк, который сделал из здравой идеи полное УГ.
Ответить | Правка | Наверх | Cообщить модератору

34. "Выпуск серверной JavaScript-платформы Node.js 17.0"  +/
Сообщение от пох. (?), 20-Окт-21, 09:06 
ну и пиши каждый раз новый лефтпад!
Ответить | Правка | Наверх | Cообщить модератору

10. "Выпуск серверной JavaScript-платформы Node.js 17.0"  +1 +/
Сообщение от YetAnotherOnanym (ok), 19-Окт-21, 23:33 
> FTP

Ретрограды! Луддиты!

Ответить | Правка | Наверх | Cообщить модератору

18. "Выпуск серверной JavaScript-платформы Node.js 17.0"  –5 +/
Сообщение от Аноним (18), 20-Окт-21, 01:09 
Вот это днищенское дно... постоянные критические ошибки и уязвимости. В каждом выпуске. И конца и краю этому не видно.

При том как я понимаю дело не в самом Node JS, а в убогом HTTP протоколе.

Ответить | Правка | Наверх | Cообщить модератору

19. "Выпуск серверной JavaScript-платформы Node.js 17.0"  –5 +/
Сообщение от Аноним (19), 20-Окт-21, 01:48 
Нельзя не восхититься всё-таки изяществом JS как языка с его прототипным ООП. Где ещё найдешь такое?
Ответить | Правка | Наверх | Cообщить модератору

20. "Выпуск серверной JavaScript-платформы Node.js 17.0"  +/
Сообщение от Аноноша (?), 20-Окт-21, 02:18 
> изяществом JS как языка с его прототипным ООП

Настолько изящным, что раньше почти все писали свои обертки для создания классов и в ES2015 наконец-то завезли нормальный синтаксис для этого на уровне языка.

> Где ещё найдешь такое?

См. список тут https://en.wikipedia.org/wiki/Prototype-based_programming

Ответить | Правка | Наверх | Cообщить модератору

26. "Выпуск серверной JavaScript-платформы Node.js 17.0"  +/
Сообщение от Наноним (?), 20-Окт-21, 07:46 
Lua. Вообще Lua увернулся от "болезни С++", в отличие от ECMAScript. В Lua до версии 5.4 тащили только действительно нужные вещи. Единственная вещь, которой там реально не хватает - RAII, но её и в жабаскрипте нет.
С Lua ситуация "в топку программирование, стану проституткой" не так вероятна, там язык очень простой и, главное, понятный, а не это "this может указывать на класс метода, а может не указывать", "у нас один оператор для конкатенации строк и сложения чисел". И рантайм не весит минимум 20 мегабайт, как у ноды
Ответить | Правка | К родителю #19 | Наверх | Cообщить модератору

28. "Выпуск серверной JavaScript-платформы Node.js 17.0"  –1 +/
Сообщение от Аноним (31), 20-Окт-21, 08:37 
Из-за конструкций типа ~= Lua полностью и бесповоротно не нужен.
Ответить | Правка | Наверх | Cообщить модератору

29. "Выпуск серверной JavaScript-платформы Node.js 17.0"  +1 +/
Сообщение от n00by (ok), 20-Окт-21, 08:39 
RAII помимо захвата ресурса при инициализации подразумевает детерминированное освобождение, что затруднено при использовании сборки мусора.
Ответить | Правка | К родителю #26 | Наверх | Cообщить модератору

35. "Выпуск серверной JavaScript-платформы Node.js 17.0"  +/
Сообщение от анон (?), 20-Окт-21, 09:13 
Жаль только вакансий маловато, а которые есть Lua указан как второй язык
Ответить | Правка | К родителю #26 | Наверх | Cообщить модератору

49. "Выпуск серверной JavaScript-платформы Node.js 17.0"  +/
Сообщение от DeadMustdieemail (??), 20-Окт-21, 22:27 
Ага.

> там язык очень простой и, главное, понятный

Особенно хорошо в Lua с числовыми типами (все целые пусть будут вещественными, так ведь гораздо удобнее!).
А уж как там чудесно работа с Юникодом устроена - не пересказать!

Ответить | Правка | К родителю #26 | Наверх | Cообщить модератору

52. "Выпуск серверной JavaScript-платформы Node.js 17.0"  +/
Сообщение от Аноноша (?), 21-Окт-21, 00:09 
> Ага.
>> там язык очень простой и, главное, понятный
> Особенно хорошо в Lua с числовыми типами (все целые пусть будут вещественными,
> так ведь гораздо удобнее!).
> А уж как там чудесно работа с Юникодом устроена - не пересказать!

https://www.lua.org/manual/5.3/readme.html#changes

> Main changes
>
>    integers (64-bit by default)
>    official support for 32-bit numbers
>    bitwise operators
>    basic utf-8 support

Ответить | Правка | Наверх | Cообщить модератору

53. "Выпуск серверной JavaScript-платформы Node.js 17.0"  +/
Сообщение от Аноноша (?), 21-Окт-21, 00:13 
> Единственная вещь, которой там реально не хватает - RAII, но её и в жабаскрипте нет.

Его и не будет, т.к. сборка мусора недетерминированна. Для задач очистки ресурсов см.

1. https://github.com/tc39/proposal-explicit-resource-management
2. https://developer.mozilla.org/en-US/docs/Web/JavaScript/Refe...

Ответить | Правка | К родителю #26 | Наверх | Cообщить модератору

23. "Выпуск серверной JavaScript-платформы Node.js 17.0"  –2 +/
Сообщение от kai3341 (ok), 20-Окт-21, 07:33 
>  Выпуск серверной JavaScript-платформы Node.js 17.0

ага, вот почему у меня билд фронта упал

Ответить | Правка | Наверх | Cообщить модератору

32. "Выпуск серверной JavaScript-платформы Node.js 17.0"  +4 +/
Сообщение от Аноним (32), 20-Окт-21, 08:45 
Потому что кто-то скачивает каждый раз свежую node при каждом билде?
Ответить | Правка | Наверх | Cообщить модератору

48. "Выпуск серверной JavaScript-платформы Node.js 17.0"  +/
Сообщение от kai3341 (ok), 20-Окт-21, 21:40 
> Потому что кто-то скачивает каждый раз свежую node при каждом билде?

Потому, что CI проверяет актуальность docker image при каждом билде
И нет, я был неправ. Свежая nodejs была не при делах

Ответить | Правка | Наверх | Cообщить модератору

30. "Выпуск серверной JavaScript-платформы Node.js 17.0"  –4 +/
Сообщение от ryoken (ok), 20-Окт-21, 08:41 
Опять эта хрень час пересобираться будет... Какой осёл вообще додумался браузер на ней делать..?
Ответить | Правка | Наверх | Cообщить модератору

50. "Выпуск серверной JavaScript-платформы Node.js 17.0"  +/
Сообщение от Аноним (50), 20-Окт-21, 23:00 
А что плохого? Ну кроме С++ под капотом?
Ответить | Правка | Наверх | Cообщить модератору

55. "Выпуск серверной JavaScript-платформы Node.js 17.0"  +/
Сообщение от ryoken (ok), 21-Окт-21, 13:29 
> А что плохого? Ну кроме С++ под капотом?

Ну я ж говорю - пересобирается долго :D.

Ответить | Правка | Наверх | Cообщить модератору

54. "Выпуск серверной JavaScript-платформы Node.js 17.0"  +/
Сообщение от Аноним (-), 21-Окт-21, 09:42 
самый безопасный инструмент, миллионы самых быстрых программистов проверяют в продакшине
Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Спонсоры:
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2021 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру