让Node.js支持ES6的语法
使用命令,全局安装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文件,内容如下:
直接使用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/ 显示如下就成功了!
让Node.js支持ES6的语法的更多相关文章
- 让 Node.js 支持 ES6 的语法
为了让 Node.js 支持 ES6 的语法, 需要使用 Babel. 安装 es-checker 在使用 Babel 之前 , 我们先检测一下当前 node 对 es6 的支持情况. 在命令行下执行 ...
- node.js学习(二)--Node.js控制台(REPL)&&Node.js的基础和语法
1.1.2 Node.js控制台(REPL) Node.js也有自己的虚拟的运行环境:REPL. 我们可以使用它来执行任何的Node.js或者javascript代码.还可以引入模块和使用文件系统. ...
- mongoskin 是让 Node.js 支持 MongoDB 的内嵌访问层。
mongoskin 是让 Node.js 支持 MongoDB 的内嵌访问层.
- 如何安装node.js支持插件
在eclipse插件中,node.js插件中比较知名的是nodeclipse. 从HBuilder6.3起,工具-插件安装,可直接选择nodeclipse插件安装.安装完毕后重启HBuilder新建n ...
- [Node.js] Using ES6 and beyond with Node.js
If you're used to using all the latest ES6+ hotness on the front end via Babel, working in Node.js c ...
- [Node.js] Testing ES6 Promises in Node.js using Mocha and Chai
Writing great ES6 style Promises for Node.js is only half the battle. Your great modules must includ ...
- Node.js用ES6原生Promise对异步函数进行封装
Promise的概念 Promise 对象用于异步(asynchronous)计算..一个Promise对象代表着一个还未完成,但预期将来会完成的操作. Promise的几种状态: pending:初 ...
- vue-cli 部分浏览器不支持es6的语法-babel-polyfill的引用和使用
npm install --save-dev babel-polyfill babel-polyfill用正确的姿势安装之后,引用方式有三种: 1.require("babel-polyfi ...
- [转载]Visual Studio支持Node.js
http://news.cnblogs.com/n/193893/ https://nodejstools.codeplex.com/ 微软发布了一个官方插件“Node.js Tools for Vi ...
随机推荐
- debian老版本下载地址
https://cdimage.debian.org/cdimage/archive/
- 在终端或idea编译工具中的terminal中运行mvn install 失败
原因是因为操作系统的差异导致,把所有参数加上引号即可. 如下所示: mvn install:install-file "-Dfile=cobra.jar" "-Dgrou ...
- [NOI Online #1 提高组]
A 首先从 \(t = 2\) 的特殊部分分出发. 不难发现这个操作是很不直观的,于是可以考虑对于每个操作 \((u, v)\) 在 \(u, v\) 之间连一条无向边. 显然连通块之间要分开考虑,对 ...
- 在windows、widfly环境下,远程debug
最近:一直想弄一个远程debug模式,奈何没有接触过,导致畏首畏尾,不过,两天时间终于搞出来了雏形,真的是一个坑一个坑踩过来的. widfly环境:widfly8 准备工作:远程运行环境:省略,前面一 ...
- 浅谈AngularJS中使用$resource
这个服务可以创建一个资源对象,我们可以用它非常方便地同支持RESTful的服务端数据源进行交互,当同支持RESTful的数据模型一起工作时,它就派上用场了. REST是Representational ...
- JSP中的请求转发与重定向
在说请求转发和重定向之前,得了解下JSP九大内置对象中的response和request response:将服务器端数据发送到客户端,可通过在客户端浏览器中显示,用户浏览页面的重定向以及在客户端创建 ...
- NSMutableArray基本概念
1.NSMutableArray介绍 什么是NSMutableArray NSMutableArray是NSArray的子类 NSArray是不可变的,一旦初始化完毕后,它里面的内容就永远是固定的, ...
- java篇之JDBC原理和使用方法
JDBC学过但又属于很容易忘记的那种,每次要用到,都要看下连接模式.每次找又很费时间,总之好麻烦呀呀呀,所以写篇博客,总结下原理和常用接口,要是又忘了可以直接来博客上看,嘿嘿. 一.什么是JDBC 1 ...
- Shell for&while中的循环
#!/usr/bin/ksh #数字段形式 for i in {1..10} do echo $i done #详细列出(字符且项数不多) for File in 1 2 3 4 5 do echo ...
- 配置多个ssh公钥,解决Key is already in use
背景:我已经有一个ssh公钥和私钥了,绑定的是公司的码云 但是绑定github是不允许的 所以我需要在生成一个公钥和私钥 第一步执行下面的命令, 至于如果生成ssh公钥点击这里 ssh-keygen ...