-
node版本v7.9.0,支持了大部分es6的功能,但還不支持es6模塊化(export、import)。
-
檢測ES6
可以使用es-checker來檢測當前Node.js對ES6的支持情況。
使用命令,全局安裝es-checker:
npm install -g es-checker
安裝好之后,執行以下命令來查看Node.js對ES6的支持情況。
es-checker
可以從輸出中查看當前版本(v7.9.0)的Node.js對ES6的支持情況。
可以看到還不支持es的模塊化。
Module
× Module export command
× Module import command
=========================================
Passes 38 feature Detections
Your runtime supports 90% of ECMAScript 6
=========================================
- 讓node支持es模塊化(export、import)的方法:
- babel-node方式(使用babel-node命令,或webstorm配置Node interpreter直接run)
1)使用babel-node命令
全局安裝babel-cli,項目安裝babel-preset-es2015,新建.babelrc文件,內容如下:
{
"presets": [
"es2015"
],
"plugins": []
}
然后,使用babel-node命令運行帶es模塊化代碼的js文件:
說明:babel-cli工具自帶一個babel-node命令,提供一個支持ES6的REPL環境。它支持Node的REPL環境的所有功能,而且可以直接運行ES6代碼。
它不用單獨安裝,而是隨babel-cli一起安裝。
babel-node import.js
2)webstorm配置Node interpreter直接run
打開webstorm,Preferences - Languages & Frameworks - Node.js and NPM - Node interpreter - Add... - Add Local - 選擇項目里安裝的node_modules/babel-cli/bin/babel-node.js - OK,現在直接run相應的js文件即可。
2. 從版本8.5.0開始,通過一個命令行選項:experimental-modules,Node.js就能支持原生的ES模塊。
需要將 Node 源碼文件后綴名改成.mjs。
node --experimental-modules main.mjs
