非常感谢,这很有帮助!把我的库放在 assets/lib 文件夹里确实帮了大忙。
现在我已经找到了正确的路径,但这个库却出问题了。
这是一个包含大量子模块的大型库——argdown.js 需要 ArgdownApplication.js 以及其他许多文件。当它尝试加载 ArgdownApplication.js 时,报错“Uncaught ReferenceError: exports is not defined.”。
我尝试用 Webpack 将整个库打包成一个文件,但不知为何,打包结果中缺少了一个名为 “punycode” 的第三方库。我试过将 punycode 加入编译后的模块,也试过将其上传到 lib 文件夹并在 plugin.rb 中添加 register_asset 'lib/punycode.js',但都不太顺利。
这个库在我的电脑上以及我编写的另一个插件中都能正常运行。请问有没有推荐的方法可以将 NPM 模块添加到 Discourse 插件中?这个帖子 提到将模块文件夹复制到你的 /lib/ 文件夹中,但这对我行不通。* 能否为我提供一个成功将复杂 NPM 模块与 Discourse 插件一起发布的示例,让我看看自己哪里做错了?
- 在那个帖子中,他们尝试从 unpkg.com 远程加载模块;我更喜欢本地加载,不过也许我应该试试远程加载。