Ale
cjs это не часть js'a, это env
A
Навскидку не нравится: 1. втащили модули на уровень синтаксиса языка. Профитов это похоже, никаких не дало 2. не то, чтобы я фанат динамической или условной загрузки, но иногда надо. Этого в ES6 modules нету. Дада, планируется API. Но очень уж оно до сих пор планируется. 3. поддержка из коробки... ну она мягко говоря не очень Вопрос такой. Если cjs работает, причем почти везде. То зачем вело-импорт?
Ale
прям почти везде это нода и два бандлера?
A
Прочитай оригинальный пропозал
этот: https://github.com/nodejs/node-eps/blob/master/002-es6-modules.md
Vlad
этот: https://github.com/nodejs/node-eps/blob/master/002-es6-modules.md
Нет. Это обсуждение интеропа с cjs
Ale
http://exploringjs.com/es6/ch_modules.html
A
Слабые аргументы
ну, я почему и спрашиваю. в защиту import чаще всего слышно "ну это же стандарт, значит надо использовать"
Ale
cjs синхронные, в браузеры их вообще никак не втащить
A
А import асинхронные?)
Ale
да
Ale
ну точнее любые
A
Ну вообще говоря нет
Ale
ну точнее любые
точнее асинхронные
A
Ну нет же)
A
Как они асинхронными-то стали?
Ale
в смысле?
Ale
всегда ими были
Ale
и это одна из проблем имплемента их в ноде
A
До тех пор пока все зависимости твоего модуля не подтянутся - он не начнёт исполнение
Таймураз
Насколько я помню, по спеке все импорты запрашиваются асинхронно, но остальной код исполняется, когда все импорты отработают
A
Т.е. реально это не асинхронные модули, а модули, которые параллельно загружаются
Ale
что значит реально не асинхронные?
A
Ну вот amd модули - асинхронные
Таймураз
что значит реально не асинхронные?
То, что последующий код не будет исполнен, пока они не завершатся
A
Ты можешь импортировать два модуля из трех, начать что-то делать, и когда загрузится третий - сделать что-то еще
Таймураз
А Алекс, по всей видимости, хочет асинхронно запрашивать модели и при этом дальше исполнять какую-то логику
Vlad
Dynamic import proposal — stage-3
Ale
простая декомпозиция
Таймураз
A
Не, я не хочу ) Но речь веду именно о такой асинхронности
Ale
простая декомпозиция
если по условию, то dynamic import
Vlad
Рукой подать до спеки
Ale
зависимости резолвятся асинхронно
Vlad
Но пропозал спорный на самом деле
Vlad
Хоть и полезный
Vlad
Static analysis is broken
Vlad
Dead code elimination as well
Таймураз
Dead code elimination as well
Разве это ломает анализ всего кода? Даже один такой импорт
Ale
для анализатора import("...") также сложно как import * as A from "..."
A
DCE в динамическом языке же только в рантайме возможен, не?
Таймураз
но не всего кода, да
Ну а что Старкова пугает-то? UPD: "пугает" образно
Vlad
Ну а что Старкова пугает-то? UPD: "пугает" образно
До пропозала можно было весь код анализировать
Sergey
всем привет кто нибудь знает чем можно построить такой граф в консоли? как в npm ls
Sergey
Alex
https://www.npmjs.com/package/treeify
Alex
1 раз юзал
Sergey
спасибо
Anonymous
Ребят, как ESlint научить не ругаться на async function fn(){ }? Точнее его не синтаксис волнует, а "ESLint: Parsing error: Unexpected token function". С arrow-functions async нормально работает. Кто как решал?
Anonymous
Есть
Anonymous
Видишь, он не синтаксическую ошибку кидает, у него парсер такой конструкции не понимает.
Sergey
попробуй парсер babel-eslint
Anonymous
Для JSDoc, насколько я понимаю, вообще приходиться выкидывать из кода async/await перед обработкой с помощью плагина.
Anonymous
попробуй парсер babel-eslint
Спасибо, покопаю
Paul
Обнови eslint
Anonymous
Тут babel нету, только native
Anonymous
Обнови eslint
Последний, 3.17.1
Paul
Убедись что 'parserOptions': { 'ecmaVersion': 2017,
Vlad
await внутри функции потому что нет?
Es 2017 в настройках включи
Roman
А что лучше для бэкенда: nodejs или go/rust?
Таймураз
Vlad
Почему?
Потомучто прямые руки важнее
Vlad
Инструмент второстепенен
Vlad
Если только у тебя нет конкретных requirements
Roman
Если только у тебя нет конкретных requirements
Минимальное время откликаш
А ВОТ ТЕПЕРЬ ПАБЛИК
C