JS? Если в html файле в теге script прописать type="module", а в самом файле js прописать в начале import name from 'name', то браузер начинает ругаться:
Uncaught TypeError: Failed to resolve module specifier "...". Relative references must start with either "/", "./", or "../".
То есть он говорит, что импорт должен производиться из файла с относительным путем, но в данном случае, это же библиотека из папки node_modules.
Так как все-таки правильно импортировать библиотеку, чтобы браузер не ругался? Только через const .... = require('...')?
При поиске ответа внятного не нашел, все пишут, что нужно через import 🤷♂️
если ты используешь node modules, то почему бы не использовать вебпак который? или что ты пытаешься сделать?
Хочу подключить к html скрипт в котором используется сторонняя библиотека. Без использования вебпака.
ну так скачай саму либу, зачем тебе модуля нода тогда?
Всё-таки вопрос у меня остался: как нужно правильно подключать стороннюю библиотеку в файл JS без использования webpack и пр.? Через require тоже не выходит, браузер начинает ругаться require is not defined
В первоначальном сообщении я уже описывал, что сделать это не удается.
Браузер не умеет читать файлы из файловой системы, то что там где-то в node_modules лежит файл для браузера ничего не значит
Вроде как ты не можешь импортировать npm библиотеки без бандлера. Ты можешь просто взять оттуда уже скомпилированную либу и закинуть её рядом с основным модулем и использовать относительный путь. Других способов не знаю.
У библиотеки же своя структура имеется и там не просто один файл. Да и тем более, в них экспорта по умолчанию не предусмотрено. То есть это звучит как какой-то костыль. Я просто хочу понять, как правильно использовать библиотеки во фронтенде, увы, ответа в интернете я найти не могу.
Обычно популярные библиотеки предоставляют вариант обычного подключения через script
https://github.com/sindresorhus/on-change Как пример, хочу эту библиотеку использовать в своем небольшом проекте. Как ее необходимо подключать? В инструкции указано, что через Npm)
Обсуждают сегодня