node LTS 已经更新到v8.9.0,对es6的支持肯定更好了,node -v
一看,本地还是6.11.0, 更新之。
用阮一峰老师的 es-checker 查看一下支持度
=========================================
Passes 38 feature Detections
Your 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.js
function sum (...values) {
let ret = 0
for (let val of values) {
ret += val
}
return ret
}
export default sum
// world.js
import 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 : { de
fault: obj }; }
console.log((0, _hello2.default)(4, 5));
—done—