Ember.js Ember 2.7中未定义Ember.htmlbar.compile

Ember.js Ember 2.7中未定义Ember.htmlbar.compile,ember.js,htmlbars,Ember.js,Htmlbars,在我们的应用程序中,我们通过使用Handlebar模板调用Ember.htmlbar.compile在运行时使用模板编译器。示例代码: let myTemplate = `{{foo}}`; application.register(`template:my-template`, Ember.HTMLBars.compile(myTemplate)); 我已尝试从Ember 2.6升级到Ember 2.7,但如果我尝试编译模板,则开发人员控制台中会出现以下错误: _ember.default.

在我们的应用程序中,我们通过使用Handlebar模板调用
Ember.htmlbar.compile
在运行时使用模板编译器。示例代码:

let myTemplate = `{{foo}}`;
application.register(`template:my-template`, Ember.HTMLBars.compile(myTemplate));
我已尝试从Ember 2.6升级到Ember 2.7,但如果我尝试编译模板,则开发人员控制台中会出现以下错误:

_ember.default.htmlbar.compile不是函数()

在文档中,我找不到任何关于从HTMLBars编译器中删除编译方法的信息


如何在应用程序运行时仍然使用/启用HTMLBars编译器?

由于提供的信息较少,请首先尝试检查错误源。


假设它是一个库,您需要打开开发人员控制台[比如说chrome],然后单击错误,这将引导您找到错误的来源,以便您可以调整或更正代码…

ember cli build.js中导入原始
ember template compiler.js

app.import('bower_components/ember/ember-template-compiler.js');

我需要在运行时编译模板 我用过。 试试这个:

import hbs from 'htmlbars-inline-precompile';
application.register(`template:my-template`, hbs`{{foo}}`);

问题是如何解决错误(我在开发人员控制台中发现)。关键是HTMLBars不再提供以前(Ember 2.6.2)提供的方法compile(在Ember 2.7.0中),请查看下面我的答案,了解Ember的最新版本:
app.import('node\u modules/Ember source/dist/Ember template compiler.js')