npm 包 babel-plugin-ember-legacy-class-constructor 使用教程

阅读时长 3 分钟读完

简介

babel-plugin-ember-legacy-class-constructor 是一个基于 babel 的插件,用于支持在 Ember.js 应用中使用 ES6 class 语法的扩展,比如ember-cli 2.12 以前的版本,支持使用extend函数来在类上扩展mixins、属性以及方法。该插件可以让我们继续使用旧的 Extend 方法的同时,享受到 ES6 class 的一些优势。

安装

我们可以通过 npm 安装:

使用

在 .babelrc 文件中配置

babel-plugin-ember-legacy-class-constructor 的配置很简单,只需要在 .babelrc 的 plugins 中添加该插件即可,例如:

示例代码

-- -------------------- ---- -------
------ ----------- ---- ----------------

------ ------- --------------------
  ---------- ------
  --------- --------
  ---------- -
    ------ ------------------ ------------------
  -
---

使用细节

  • 继承的基类应该是 EmberObject,不能是其他的 ES6 类或者普通的 JavaScript 对象。
  • extend函数的原型被固定为: EmberObject.extend({})形式。
  • 如果你在组件上使用了这个插件,在升级到 ember 3.0.0 或更高版本时,会出现编译错误,因为组件现在必须是 ES6 类。 解决方案是升级 ember 版本或者将组件优化为 ES6 类。

结论

至此我们可以看到,babel-plugin-ember-legacy-class-constructor 插件可以帮助我们在我们的 Ember.js 应用中使用 ES6 class 的语法,同时也可以继续保留我们使用 Extend 方法的传统。虽然 在现时的 Ember 版本中,现已支持完整的 ES6 语法,但是这个插件对于我们来说,仍然是一个有必要的工具,同样也为我们在使用 ES6 语法的前端开发中,提供了一些思路。

参考链接

-babel-plugin-ember-legacy-class-constructor 官方文档 https://github.com/ember-cli/babel-plugin-ember-legacy-class-constructor.

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/600562d581e8991b448e029e

纠错
反馈