Спасибо, это очень помогло! Размещение моей библиотеки в папке assets/lib значительно облегчило задачу.
Теперь, когда у меня правильный путь к ней, библиотека ведёт себя странно.
Это большая библиотека с множеством подмодулей — argdown.js требует ArgdownApplication.js и ещё несколько других. Когда она пытается загрузить ArgdownApplication.js, выводится ошибка: “Uncaught ReferenceError: exports is not defined”.
Я пробовал собрать всё в один файл с помощью Webpack, но по какой-то причине в сборке отсутствует сторонняя библиотека под названием “punycode”. Я пытался добавить punycode в скомпилированный модуль, загрузить его в папку lib и добавить register_asset 'lib/punycode.js' в файл plugin.rb, но пока без особого успеха.
Библиотека работает на моём компьютере и в другом плагине, который я написал. Есть ли рекомендуемый способ добавления NPM-модуля в плагин Discourse? В этой теме предлагается скопировать папку модуля в папку /lib/, но у меня это не работает.* Можете ли вы показать пример успешного использования сложного NPM-модуля в плагине Discourse, чтобы я мог понять, где ошибаюсь?
*В той теме они пытаются загрузить модуль удалённо с unpkg.com; я бы предпочел сделать это локально, хотя, возможно, стоит попробовать и этот вариант.