如何在node中使用最新的ES6语法(1)

版权声明:本文为博主原创文章,欢迎转载,转载请标明出处。 https://blog.csdn.net/YeShenLiaoSuiFeng/article/details/80568675

一般 Node.js 使用 ES6 最新的特性, 那么就需要使用 Babel。

简单介绍下ECMASCRIPT(JS)语法提案流程:

一种新的语法从提案到变成正式标准,需要经历五个阶段。每个阶段的变动都需要由 TC39 委员会批准。

  • Stage 0 - Strawman(展示阶段)
  • Stage 1 - Proposal(征求意见阶段)
  • Stage 2 - Draft(草案阶段)
  • Stage 3 - Candidate(候选人阶段)
  • Stage 4 - Finished(定案阶段)

一个提案只要能进入 Stage 2,就差不多肯定会包括在以后的正式标准里面。ECMAScript 当前的所有提案,可以在 TC39 的官方网站Github.com/tc39/ecma262查看。

安装 es-checker

在使用 Babel 之前 , 我们先检测一下当前 node 对 es6 的支持情况。

在命令行下执行以下命令安装 es-checker

全局安装

npm install -g es-checker

检测node环境对ES6的支持程度,执行下面命令:

es-checker
=========================================
Passes 38 feature Detections
Your runtime supports 90% of ECMAScript 6

=========================================

安装 babel

在工作目录下打开命令行,执行以下命令安装 babel-cli

npm install babel-cli --save

再安装一个全局的 babel-cli

npm install babel-cli -g

接着在工作目录创建一个名字为 .babelrc 的文件, 文件内容入如下:

 {
     "presets": [
         "es2015"
     ],
     "plugins": []
 }
安装 babel-preset-es2015

在工作目录,执行以下命令安装 babel-preset-es2015

npm install babel-preset-es2015 --save
入口文件app.js

import test from './test';
console. log( 'this is a test!' + test);

test.js

// module.exports = 'a'
@ testable
class MyTestableClass {
// ...
}

function testable( target) {
target. isTestable = true;
}
module. exports = MyTestableClass. isTestable // true

最后执行   babel-node app.js

==>  this is a test!true

这样babel就可以在代码执行时先把ES6的语法转换成es5的语法了。

猜你喜欢

转载自blog.csdn.net/YeShenLiaoSuiFeng/article/details/80568675