使用命令,全局安装es-checker

cnpm install -g es-checker

安装好之后,执行以下命令来查看Node.js对ES6的支持情况。

es-checker

可以从输出中查看当前版本的Node.js对ES6的支持情况。

ECMAScript 6 Feature Detection (v1.4.1)

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

添加ES6支持

首先,使用cnpm init初始化cnpm工作目录,生成package.json文件。

cnpm init -y

接下来,需要安装Babel-cli。全局安装和本地安装都可以。

// 全局安装
cnpm install babel-cli -g
// 本地安装
cnpm install babel-cli --save

然后,安装babel-preset-es2015来支持ES6的语法。

cnpm install babel-preset-es2015 --save 

安装完之后,还需要添加一个名为.babelrc的配置文件。方便babel-cli使用babel-preset-es2015。文件内容如下:

{
"presets": [
"es2015"
],
"plugins": []
}

测试ES6

使用es-checker测试Node.js的时候,发现Node.js不支持import语法。我们可以测试import来验证babel的支持程度。

创建一个index.js文件,内容如下:

import { createServer } from 'http';
 
var server=createServer(function(req,res){
console.log(req.method+':'+req.url);
//console.log(req.method+':'+req.url);
res.writeHead(200,{'Content-Type': 'text/html'});
res.end('<h1>Hello world!</h1>');
}).listen(8060);
console.log('http://localhost:8060');

直接使用Node.js执行index.js:

node index.js

执行结果会报错:

(function (exports, require, module, __filename, __dirname) { import { createServer } from 'http';
^

SyntaxError: Unexpected token {
at new Script (vm.js:79:7)
at createScript (vm.js:251:10)
at Object.runInThisContext (vm.js:303:10)
at Module._compile (internal/modules/cjs/loader.js:657:28)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:700:10)
at Module.load (internal/modules/cjs/loader.js:599:32)
at tryModuleLoad (internal/modules/cjs/loader.js:538:12)
at Function.Module._load (internal/modules/cjs/loader.js:530:3)
at Function.Module.runMain (internal/modules/cjs/loader.js:742:12)
at startup (internal/bootstrap/node.js:282:19)

Node.js不支持import语法。接下来,使用babel来执行index.js。

全局安装的检测比较简单:

babel-node index.js

结果打印出a

http://localhost:8088
GET:/
GET:/favicon.ico

浏览器输入:http://127.0.0.1:8060/  显示如下就成功了!

本地安装的话,可以使用cnpm script来执行命令。在package.json文件的scripts添加命令"babel": "babel-node index.js",然后执行:

cnpm run babel

可以看到控制台有打印出结果。

http://localhost:8088
GET:/
GET:/favicon.ico

浏览器输入:http://127.0.0.1:8060/  显示如下就成功了!

最新文章

  1. Newtonsoft.Json 序列化和反序列化 时间格式【转】
  2. python: DOM 小实例
  3. IOS App 右上脚红色数字提醒
  4. soanar,jenkins
  5. ncp的简单实用
  6. AngularJS小试牛刀
  7. 使用python在SAE上搭建一个微信应用,使用有道翻译的api进行在线翻译
  8. debian linux下配置lnmp环境
  9. android自动化测试解决跨进程通信问题
  10. notebook kernels
  11. HDU 1269 迷宫城堡 【强联通分量(模版题)】
  12. TCP/IP-UDP
  13. ViewState探索
  14. javaScript基础概念小知识点集
  15. Codeforces Round #416(Div. 2)-811A.。。。 811B.。。。 811C.dp。。。不会
  16. 编写高质量的Python代码系列(二)之函数
  17. configure - 源代码安装的第一步
  18. Django REST Framework API Guide 05
  19. 鸟哥的Linux私房菜——第十八章:磁盘配额quota
  20. Ubuntu登录系统失败的解决方案

热门文章

  1. K8s 资源配额管理对象 ResourcesQuota
  2. Spring源码-IOC部分-Xml Bean解析注册过程【3】
  3. Java流程控制01:用户交互Scanner
  4. ABC209 E Shiritori
  5. Tomcat临时目录及java.io.tmpdir对应的目录
  6. Python中处理日期时间库的使用方法
  7. Android API在线网站
  8. 一键部署nginx 服务
  9. [GWCTF 2019]babyvm re
  10. 根据经纬度坐标获得省市区县行政区划城市名称,自建数据库 java python php c# .net 均适用