RequireJS как сопоставить «tippy.js » с path

#typescript #requirejs #amd

#typescript #requirejs #amd

Вопрос:

Мой модуль typescript содержит: import tippy from "tippy.js"; где «tippy.js » — это пакет, установленный в node_modules. Его компиляция с module: "amd" правильно генерирует:

 define(["require", "exports", "tippy.js"], function (require, exports, tippy_js_1) {...
  

Во время выполнения загрузка завершается неудачно, потому что RequireJS пытается загрузить несуществующий файл «tippy.js » из корня сервера вместо просмотра пути, установленного в:

 requirejs.config({paths: {"tippy.js": "../node_modules/tippy.js/dist/tippy-bundle.umd"}});
  

Я пытался также поиграть с разделом карты, но безуспешно:

     map: {
        "tippy.js": {
            "@popperjs/core": "popper",
            "tippy.js":       "../node_modules/tippy.js/dist/tippy-bundle.umd"
        },
  

Помимо изменения пакета на пакет с более нормальным именем, есть ли что-нибудь, что я мог бы попробовать?
Спасибо!
марио

Ответ №1:

Я упустил из виду силу packages раздела в requirejs.config({}) . Если я определю:

 packages: [{
    name: "tippy.js",
    location: "../node_modules/tippy.js",
    main: "dist/tippy-bundle.umd"
}]
  

пакет загружается без проблем.