Понять мотивы человека или 'query-string' не queryString
Всем привет!
Хочу обсудить важный вопрос для меня. Случилось так что я захотел подключить модуль query-string (Node.js), строки там попарить... Ну и само собой ничего не парсил - я подозревал что модуль мне не подходит, но это и не важно в данной ситуации. Захотел я его импортировать через: import { queryString } from 'query-string'; Но ничего не вышло - и это меня расстроило, потому что пришлось сделать так: let queryString= require('query-string'); А у меня сверху было написано несколько import и не одного require - require мне портил всю картину, но пришлось сделать. Через время мне стало интересно - почему я не смог получить объект через import и я полез в 'node_modules'. Там я обнаружил что модуль экспортируется как parseUrl exports.parseUrl = (input, options) => { const hashStart = input.indexOf('#'); if (hashStart !== -1) { input = input.slice(0, hashStart); } return { url: input.split('?')[0] || '', query: parse(extract(input), options) }; }; Меня удивило что модуль называется 'query-string', а экспортируется как parseUrl. У меня возник вопрос почему "он" так сделал! Как вы считаете каковы были мотивы? Или же просто необдуманный поступок? |
Не там создал - нужно было в Оффтопик
|
Цитата:
надо было так: import { parseUrl } from 'query-string'; можно ещё сделать import queryString from 'query-string'; тогда в переменной queryString будут все методы, это аналогично твоему варианту require а вот первый вариант делает ещё и "деструктуризацию" объекта, и у тебя сразу появляются все переменные, со значениями, перечисленными в фигурных скобках. Новая хипстерская фича в языке. |
Хотел пошутить, а вместо этого понял import)) Спасибо за ответ.
|
Часовой пояс GMT +3, время: 03:28. |