npm 包 ember-es6-class-codemod-dyfactor 使用教程

阅读时长 4 分钟读完

ember-es6-class-codemod-dyfactor 是一个针对 Ember.js 应用程序的 ES6 类转换codemod。本教程将会帮助你了解如何使用它来升级你的 Ember.js 应用程序到 ES6 类语法。

什么是 ES6 类

ES6 类是一种新的基于原型继承的语法,它引入了一种使用 class 关键字和构造函数来定义类的方式,用于替代ES5 中的 构造函数/原型模式

安装

在使用 ember-es6-class-codemod-dyfactor 进行代码转换之前需要安装以下组件:

  • Node.js
  • npm
  • Ember-CLI

安装好以上三个工具后,进入你的项目根目录,运行以下命令来安装 ember-es6-class-codemod-dyfactor:

使用

ember-es6-class-codemod-dyfactor 需要被调用两次来进行完整转换。 第一次调用用于转换文件中 extendcreate 属性到 class 语法。第二次调用用于修复每一个类中的注释、 super() 调用以及属性定义。

第一步: 找出使用了 extendcreate 关键字的文件:

使用以下命令来找出所有使用 extendcreate 关键字的文件:

上述命令会输出所有符合条件的文件路径,如下:

第二步: 使用 js-codemods 库进行代码转换

ember-es6-class-codemod-dyfactor 工具是基于 js-codemods 库的,使用该库可以轻松把你现有的代码转换成 ES6 类语法。先使用下面这个命令启动第一次转换:

执行完上述命令后,所有使用 extendcreate 关键字的文件都被转换了,但是一些这些文件内部的类定义中没有被转换。 这时候你需要使用下述命令来修复所有存在问题的类定义:

示例代码

原始代码:

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

------ ------- ------------------------
  -------- ---------
  ----------- ------- ---------------
  ------ -----------
    ----------------------------
  -
---
展开代码

转换后的代码:

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

------ ------- ----- ----------- ------- --------------- -
  ------- - ---------
  ---------- - ------- ---------------
  
  ------- -
    ----------------------------
  -
-
展开代码

总结

使用 ember-es6-class-codemod-dyfactor 可以轻松帮助你将你的 Ember.js 应用程序升级到 ES6 类语法。 我们建议你在使用 ember-es6-class-codemod-dyfactor 之前先使用 git 等版本控制工具对你的代码进行备份,以避免不可逆的损失。

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

纠错
反馈

纠错反馈