讓node支持es模塊化(export、import)的方法

  • node版本v7.9.0,支持了大部分es6的功能,但還不支持es6模塊化(export、import)。html

  • 檢測ES6
    能夠使用es-checker來檢測當前Node.js對ES6的支持狀況。
    使用命令,全局安裝es-checker:
npm install -g es-checker

安裝好以後,執行如下命令來查看Node.js對ES6的支持狀況。node

es-checker

能夠從輸出中查看當前版本(v7.9.0)的Node.js對ES6的支持狀況。
能夠看到還不支持es的模塊化。es6

Module
  × Module export command
  × Module import command
=========================================
Passes 38 feature Detections
Your runtime supports 90% of ECMAScript 6
=========================================
  • 讓node支持es模塊化(export、import)的方法:
  1. 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一塊兒安裝。web

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文件便可。npm

  1. 從版本8.5.0開始,經過一個命令行選項:experimental-modules,Node.js就能支持原生的ES模塊。
    須要將 Node 源碼文件後綴名改爲.mjs。
node --experimental-modules main.mjs

官方文檔:https://nodejs.org/api/esm.htmlapi

相關文章
相關標籤/搜索