抱歉挖坟,但谷歌把我带到了这里。我已经尝试了好几个小时,想在我的插件中加载一个 JS 库。
- 在我应用的 assets/javascripts 文件夹中,有一个名为 argdown-core.js 的文件。
- 在我的 plugin.rb 文件中,我使用了
register_asset 'javascripts/argdown-core.js'。 - 在 assets/javascripts/discourse-markdown/argdown.js.es6 中,我使用了
import { argdown } from "argdown-core.js"。
我尝试了上述方法的许多变体,但一直收到错误:Uncaught Error: Could not find module argdown-core.js imported from discourse/plugins/Argdown/discourse-markdown/argdown。
我尝试过的一些方法包括:
- 将文件移动到不同的文件夹
- 对
import语句进行大量调整 - 在文件扩展名后添加 .es6——其他 JS 文件似乎需要这个才能运行
- 在 plugin.rb 中的
register_asset行末尾添加:server_side,因为这部分代码应该在那里运行 - 查找其他需要第三方库的插件——但我没找到任何使用不同策略的插件
- 深入阅读 Discourse 的代码,试图理解其打包系统
这应该很简单,可能我忽略了某个明显的地方。有人能帮忙吗?