如何在Ember应用程序中使用Glimmer组件?

Lud*_*her 12 javascript ember.js glimmer.js

微光网站的状态:

只需将您的Glimmer组件放入Ember应用程序即可.你不需要改变一件事.

我一直在关注官方的Ember快速入门教程.我用这个替换了生成的people-list.js组件的内容:

import Component from '@glimmer/component';

export default class PeopleList extends Component {

}
Run Code Online (Sandbox Code Playgroud)

我在浏览器控制台中收到错误,说明@glimmer/component未定义.在我运行yarn add @glimmer/component添加依赖项之后,我从Broccoli获得了一个新错误.

此外,每当我在people-list.hbs模板中的变量之前使用"@"时,模板就无法编译.如何在我的Ember应用程序中使用Glimmer组件?

Nul*_*uli 5

要在今天(2019年5月1日)在余烬应用程序中使用微光,

yarn add --dev @glimmer/component@beta
Run Code Online (Sandbox Code Playgroud)

然后

import Component from '@glimmer/component';
import { tracked } from '@glimmer/tracking';

export default class MyComponent extends Component {
  @tracked number = 0;

  increment() {
    this.number++;
  }
}
Run Code Online (Sandbox Code Playgroud)

要查看实际效果,请查看一个新的Octane应用程序:https : //github.com/ember-cli/ember-octane-blueprint


Emb*_*eak 2

目前您无法将其用于现有的 ember 应用程序。但你可以尝试一下全新的应用程序。通过安装ember new my-glimmer-app -b https://github.com/glimmerjs/glimmer-blueprint.git

如果您采用yarn global add ember-cli/ember-cli这种方式,那么您需要卸载现有的 ember-cli ( npm uninstall -g ember-cli)

  • 这里是 Ember Learn 团队的成员。尚不支持在 Ember 应用程序中使用此类 Glimmer 组件。这是核心团队稍后想做的事情,但不是你现在可以做的事情。 (4认同)
  • 从 #-glimmer slack 频道 w/ @locks @mixonic 和 @samselikoff 看来,最好的方法是将你的 glimmer 组件导出为 Web 组件 (https://glimmerjs.com/guides/using-glimmer-as- web-components),然后“将 glimmer 应用程序中的 /dist 文件放入 ember 应用程序的供应商文件夹中,然后‘app.import’它们”。除此之外,跟踪此问题以了解将支持哪种属性/事件 API:https://github.com/glimmerjs/glimmer-web-component/issues/19 (4认同)