Как я могу импортировать сторонние библиотеки в модули?

#javascript #html #jquery #module

#язык JavaScript #HTML #jquery #модуль

Вопрос:

Я учусь правильно использовать модули js. Так что у меня есть моя main.js где у меня есть некоторая логика относительно того, какой js загружать. Короче говоря, я загружаю сценарии, используя импорт условий.

итак, у меня есть что-то вроде этого

main.js

 import("/path/to/module").then(module =gt; {  if (typeof module != "undefined") {  module.default.render amp;amp; module.default.render();   } else {  throw new Error(module   "is not a module");  } });  

В HTML не так много интересного. У меня есть это в конце тела, как это lt;script src="main.js"gt;lt;/scriptgt; , Он выполняет основной сценарий, в котором я определяю свое пространство имен и выполняю все виды функций. Он динамически импортирует модули, и все они отлично работают. Хотя основной сценарий не является типом=»модуль», я считаю, что импортированные сценарии, использующие import (), должны действовать как модули. Единственная проблема, с которой я сталкиваюсь, — это импорт дополнительных сторонних библиотек.

Это правильно загружает мои сценарии. Загружаются все мои скрипты в моей папке, даже мои сторонние библиотеки. Но они недоступны из — за пределов их модулей. Например, я хочу импортировать script1, который также импортирует jQuery, иначе я не смогу использовать его в нем. (Или, допустим, я хочу импортировать библиотеку карусели в свой сценарий 1, которая инициализировала бы его. Я знаю, как экспортировать и импортировать свои собственные скрипты и использовать их, но я борюсь со сторонними библиотеками. Как мне импортировать jquery? Нужно ли мне как-то редактировать уже уменьшенный код или что-то еще? Мои модули выглядят так

сценарий 1:

 //I wanna import jquery here // something like import $ from 'path/jquery/'; export default {    render: function() {   },  ...   }  

Я попытался отредактировать уменьшенный файл jquery, добавив что-то вроде этого в конце файла, jquery3.6.min.js:

 //minified jquery oneliner here... export {$}  

or module.exports = {$}

but that returns various errors.

I tried not touching the minified jQuery at all and just call

 import $ from "jquery"  

in script1.js but that gives me

 Uncaught (in promise) SyntaxError: The requested module '/-a51---tcFORo5D/jquery' does not provide an export named 'default'  

Как правильно это сделать? Весь смысл того, чего я пытаюсь достичь, заключается в том, чтобы иметь возможность импортировать сторонние библиотеки в мои сценарии только при необходимости, чтобы я не загружал большие файлы, когда они не нужны. Кроме того, я не использую NPM или какую-либо другую систему. Я хочу знать, как это достижимо в чистом js.