Понять мотивы человека или '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, время: 19:00. |