为 Discourse 的 webpack 添加脚本

您好,

我从未接触过 webpack,而且我的 JS 知识很薄弱,我有一个 Discourse 安装是运行在 IP 地址上的,这是“不受支持”的。它能运行,但图标丢失了,因为它试图加载 http://192.168.0.22:8080/svg-sprite/192.168.0.22:8080/svg-3-c1066beb12cc75cc4c3bc42f218f381c862e7905.js,其中包含图标,但由于数字而失败。其他任何东西都可以,例如 http://192.168.0.22:8080/svg-sprite/-/svg-3-c1066beb12cc75cc4c3bc42f218f381c862e7905.js(您可以在 - 的位置放置任何内容,所以我不太确定它为什么会存在,但这不由我决定)。

我正试图让它加载正确的 host,所以我写了一个小脚本来实现它,但由于 webpack,我无法通过 imports 访问 loader:

由于这个限制,我需要进入 Discourse 的 webpack,但它无处可寻。我该如何向该文件夹添加脚本?

/var/discourse$ ls
shared

我们不使用浏览器的原生模块解析系统,因此 type="module"<script> 标签及其导入和导出将无法按预期工作。

相反,您可以在 Discourse 主题/插件中创建一个初始化程序,并使用它来运行 loadSprites() 代码。

这是为了 CDN 域由多个 Discourse 论坛使用的托管环境。

确实……这是不受支持的。您很可能会遇到其他问题。

2 个赞

有这方面的指南吗?以前没试过。

此主题有一个示例:Split up theme Javascript into multiple files

1 个赞

谢谢……它奏效了!对于将来遇到此问题的任何人,这是我用来修复它的存储库(假设您正在 192.168.0.22:8080 上运行)

1 个赞

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.