亲爱的社区成员,大家好,
我有些时间可以修复我们社区中的一些警告。其中之一如下:
弃用通知:请导入 User 类,而不是直接使用 User(自 Discourse 2.4.0 起已弃用,将在 Discourse 2.6.0 中移除)
我尝试通过 DevTools 进行调试,但它不允许我进入发出警告的文件。它显示:
无法加载 URL/assets/var/www/discourse/public/assets/_application-d88a387e24ec4397c59d853355d071080a32aa58498a2ea0a509cebee72839c0.js 的内容:HTTP 状态码:404
无论如何,我进入了安全模式,只保留主题。看起来警告来自我的主题。在我的主题中,我发现我在一个 HTML 文件中使用了以下内容:
<script type="text/discourse-plugin" version="0.8.13">
api.decorateWidget('header:before', helper => {
// ... 代码
var currentUser = Discourse.User.current();
// ... 代码
});
</script>
因此,我的技术问题如下:
- 警告是否可能来自这一行?如果是,我应该如何导入
User 并解决该警告?
- 我应该如何从 DevTools 调试压缩后的 JS 文件?
提前感谢!
Falco
(Falco)
2
将
var currentUser = Discourse.User.current();
更改为
var currentUser = api.getCurrentUser();
6 个赞
太棒了!非常感谢 
看来我还需要修复更多地方,比如 Discourse.Site.currentProp('trustLevels')。
是否有合适的文档可以阅读,以便了解应该使用哪个方法来替代旧方法?
我也是,我需要把 Discourse.Site.currentProp('user_fields')(参见 此处)替换成别的吗?
1 个赞
我想,这个话题应该属于 Support - Discourse Meta 这个分类。
我遇到了同样的问题:弃用通知:请导入 User 类,而不是直接使用 User(自 Discourse 2.4.0 起已弃用,将在 Discourse 2.6.0 中移除),当前使用的是最新版本 2.6.0.beta3。
我的论坛在首次用户访问时运行缓慢。
您能解释一下我应该从哪里开始吗?如何更改该值?是从管理区域吗?
谢谢
RGJ
(Richard - Communiteq)
8
这些弃用通知主要针对主题和插件开发者。
“如果你不知道如何操作,那么你不应该执行此操作。”
3 个赞
riking
(Kane York)
9
作为主题开发者,如果您使用的不仅仅是 User.current(),那么替换方式如下:
const User = require('discourse/model/user').default;
2 个赞