Ember 2.16.x:使用新的导入语法访问Ember.Handlebars.Utils.escapeExpression

Ember 2.16.x: Accessing Ember.Handlebars.Utils.escapeExpression with new import syntax

如何使用 Ember 2.16.x 及更高版本中的新导入语法访问 Ember.Handlebars.Utils.escapeExpression 函数?

以下代码片段来自Writing Helpers section of the Ember docs。 (仅供参考,原文中有几个不相关的错误,我已在下面的代码中清理了这些错误。)

import { helper } from "@ember/component/helper";
import Handlebars from "handlebars";
import { htmlSafe } from "@ember/string";

export function makeBold(param /*, ...rest*/ ) {
  let value = Handlebars.Utils.escapeExpression(param);
  return htmlSafe(`<b>${value}</b>`);
}

export default helper(makeBold);

如果我使用上面的代码,我会得到以下错误:

Could not find module 'handlebars' imported from 'ember-app/helpers/make-bold'

截至目前,Handlebars.Utils.escapeExpression 函数尚未通过新模块导入(又名 RFC 176)导出。您应该暂时从 Ember 导入中继续使用它:

import Ember from 'ember';

Ember.Handlebars.Utils.escapeExpression(...)

https://github.com/ember-cli/ember-rfc176-data/issues/12

存在未解决的 GitHub 问题

您链接的指南页面似乎有误,我们需要修复该特定片段。抱歉!