Всем привет!
Хочу обсудить важный вопрос для меня.
Случилось так что я захотел подключить модуль 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. У меня возник вопрос почему "он" так сделал!
Как вы считаете каковы были мотивы? Или же просто необдуманный поступок?