Size: a a a

JavaScript.Ninja

2021 February 16

OJ

Oleg Junior in JavaScript.Ninja
Считаете ли вы что неполноценные фронтенд фреймворки (типа библиотека React) занимаются по сути переносом сложности разработки в другую плоскость? В инженерии есть принцип необходимой вариативности: "только сложность может держать под контролем другую сложность." Во фронтенд разработке основная сложность это приведение разрозненных элементов (компонентов) к единому валидному состоянию объекта (в данном случае страницы) за ограниченный промежуток времени. Пользователь не должен видеть переход состояния ( промежуточные состояния) страницы. React например решает эту проблему путем переноса комбиноторной сложности проектирования перехода состояния системы, в сложность проектирования зависимостей состояния елементов от данных и от жизненных циклов состояния. По сути сложность не убирается, она только конвертируется в другую как по мне.
источник

II

Ilya Izilanov in JavaScript.Ninja
iCheater iCheater
как деструктуризировать объект при импорте?  
const { Telegraf, session, Scenes: { BaseScene, Stage}, Markup } = require('telegraf')

так не понимает нода
import  { Telegraf, session, Scenes: { BaseScene, Stage}, Markup } from 'telegraf')
нельзя, потому что импорт это не совсем обычная деструктуризация - например, алиасы через as а не через :
источник

II

Ilya Izilanov in JavaScript.Ninja
iCheater iCheater
и вообще, это правда что import более "эффективный"? и можно смело в новом проекте все делать на модулях .mjs  ?
смотря что значит эффективный
источник

ii

iCheater iCheater in JavaScript.Ninja
Ilya Izilanov
нельзя, потому что импорт это не совсем обычная деструктуризация - например, алиасы через as а не через :
можно пример как будет выглядеть такой импорт через алиас?
знаю как алиасом переименовать, но не понял как вытащить из нужный объект
источник

II

Ilya Izilanov in JavaScript.Ninja
я и говорю что нельзя вытащить из объекта, потому что это не деструктуризация
источник

ii

iCheater iCheater in JavaScript.Ninja
Ilya Izilanov
смотря что значит эффективный
вот что пррор импорты пишут про эффективность:
ES6 Imports:
- You can use named imports to selectively load only the pieces you need. That can save memory.
- Import can be asynchronous (and in current ES6 Module Loader, it in fact is) and can perform a little better.

мне так и не ясно как можно "отдельно импортировать кусочки что нужны"
источник

MM

Mikita Melnikau in JavaScript.Ninja
export function abc....
источник

II

Ilya Izilanov in JavaScript.Ninja
источник

II

Ilya Izilanov in JavaScript.Ninja
но для ноды это не играет никакой роли
источник

MM

Mikita Melnikau in JavaScript.Ninja
import {abc} from...
источник

ii

iCheater iCheater in JavaScript.Ninja
правильно я понимаю, что с модулями надо отдельный каждый элемент экспортить?
было так
export const keyboards = {
   exit_keyboard : Markup.keyboard([ 'exit' ]).oneTime(),
   remove_keyboard : Markup.removeKeyboard(),
}
стало так?
export const exit_keyboard =  Markup.keyboard([ 'exit' ]).oneTime()
export const remove_keyboard = Markup.removeKeyboard()
источник

II

Ilya Izilanov in JavaScript.Ninja
источник

MM

Mikita Melnikau in JavaScript.Ninja
iCheater iCheater
правильно я понимаю, что с модулями надо отдельный каждый элемент экспортить?
было так
export const keyboards = {
   exit_keyboard : Markup.keyboard([ 'exit' ]).oneTime(),
   remove_keyboard : Markup.removeKeyboard(),
}
стало так?
export const exit_keyboard =  Markup.keyboard([ 'exit' ]).oneTime()
export const remove_keyboard = Markup.removeKeyboard()
Ты что-то странное экспортировать пробуешь мне кажется. Это не функция а результат её работы
источник

MM

Mikita Melnikau in JavaScript.Ninja
Если тебе не моментально нужен результат работы пользуйся словом function
источник

IL

Ivan Lotarev in JavaScript.Ninja
iCheater iCheater
как деструктуризировать объект при импорте?  
const { Telegraf, session, Scenes: { BaseScene, Stage}, Markup } = require('telegraf')

так не понимает нода
import  { Telegraf, session, Scenes: { BaseScene, Stage}, Markup } from 'telegraf')
источник

II

Ilya Izilanov in JavaScript.Ninja
:/
источник

ii

iCheater iCheater in JavaScript.Ninja
в импорте не работает )
источник

IK

Illya Klymov in JavaScript.Ninja
iCheater iCheater
как деструктуризировать объект при импорте?  
const { Telegraf, session, Scenes: { BaseScene, Stage}, Markup } = require('telegraf')

так не понимает нода
import  { Telegraf, session, Scenes: { BaseScene, Stage}, Markup } from 'telegraf')
никак, несмотря на то что они выглядят одинаково - это два разных синтаксиса
источник

IK

Ivan Komar in JavaScript.Ninja
Как стать синьйором?
источник

н

несчастье in JavaScript.Ninja
Ivan Komar
Как стать синьйором?
переехать жить в Испанию
источник