写es6,用babel-node

来源:互联网 发布:海岛奇兵引导弹数据 编辑:程序博客网 时间:2024/06/05 19:26

node LTS 已经更新到v8.9.0,对es6的支持肯定更好了,node -v 一看,本地还是6.11.0, 更新之。

用阮一峰老师的 es-checker 查看一下支持度

=========================================Passes 38 feature DetectionsYour runtime supports 90% of ECMAScript 6=========================================

不错,已经90%了,不过
这里写图片描述

经常要用 import, 不能在这里卡住。还好有 babel 转码器。

npm install --save-dev babel-cli babel-preset-env

安装后,只需创建.babelrc, 写入以下内容, 就能 babel-node file.js 愉快的玩耍了。

{  "presets": ["env"]}

接下来试一试 import

首先创建文件 hello.js 和 world.js

// hello.jsfunction sum (...values) {  let ret = 0  for (let val of values) {    ret += val  }  return ret}export default sum
// world.jsimport sum from './hello'console.log(sum(4, 5))

使用 babel-node world.js 运行, 得到结果 9 , Good!

也可以使用 babel world.js > out.js 得到转码以后的文件

// out.js'use strict';var _hello = require('./hello');var _hello2 = _interopRequireDefault(_hello);function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }console.log((0, _hello2.default)(4, 5));

—done—