видно в другом файле ниже — как исправить это можно?
const findGetParam = require('./myModule.js')
это не подойдёт, т.к. у меня там надо сделать некий автолоад. У меня в вебпаке import-glob лоадер для ресолва вайлдкардов стоит, я просто хочу распихать логические куски js и отдельные функции по папкам, а потом через импорты парой строк это всё собирать. И всё работало хорошо, до тех пор пока я не решил вынести в отдельный файл именованную функцию...
Не знаю как там вебпак это собирает, но модули подразумевают ограниченную модулем область видимости. Объявив функцию в модуле ты не получишь её торчащей где-то в глобальной области. Функция будет получена в виде объекта, а какой переменной её присвоить и делать ли это вообще решает код файла где задействуется её импорт.
так а есть какой-то правильный способ вынести обычную функцию в отдельный файл так, чтобы она потом была доступна глобально? По типу как это в пхп с инклюдами
слыхал что вебпак надежнее эти модули переписывает и сам экспортит правда ли что через вебпак надо такие вещи пропускать?
Чтобы функция была доступна глобально - надо присвоить её свойством объекта window. Но это делатся только в самом крайнем случае.
да, это я знаю как сделать, это и через export default у меня работало, но хочется именно функцию обычную — можно как-то?
export default это ES6 модули, module.exports это CommonJS модули, почитай что они из себя представляют и как с ними работает вебпак. Я с вебпаком не работаю, да и без примеров конфига и кода в любом случае никак не помогу.
короч, вот таким макаром работает as expected, но выглядит как-то криво
Обсуждают сегодня