Node.js中如何使用ES6匯入語法?本篇文章就來跟大家介紹一下Node.js中ES6導入語法的使用方法。
模組是匯出一個或多個值的 JavaScript 檔案。導出的值可以是變數、物件或函數。
Node.js 應用程式由模組組成,其模組系統採用 CommonJS 規範,它並不是 JavaScript 語言規範的正式組成部分。 【推薦學習:《nodejs 教學》】
在 CommonJS 中,有一個全域性方法 require()
,用於載入模組。
// 加载 path 模块 const path = require('path')
而 ECMAScript 模組(簡稱 ES 模組或 ESM)是 JavaScript 語言規範中新增的一個模組,正在尋求統一和標準化模組在 JavaScript 應用程式中的載入方式。
以下導入語法由以下 ES 模組標準組成,用於匯入從不同 JavaScript 檔案匯出的模組:
import XXX from 'xxx'
Node.js 不支援直接匯入 ES6。嘗試在JS 檔案中編寫import
語法:
// index.js import { sep } from 'path' console.log('print: ', sep)
使用npm start
或npm run dev
運行Node.js,您將遇到以下錯誤:
由於我們使用了ES 模組語法匯入path
模組而導致程式崩潰。
而目前最快速的解決方法是,我們可以使用Node.js 推薦的方法,在package.json
檔案中設定"type" : "module"
。
{ "type": "module" }
此解決方案適用於最新的 Node.js 版本 14.x.x
以上的版本(撰寫本文時為 15.6.0
)。
另一個解決這個問題的方法是使用Babel#。它是一個 JavaScript 編譯器,允許您使用最新語法編寫 JS。它可以在任何用JavaScript 編寫的專案中使用,因此也可以在Node.js 專案中使用
先從終端視窗安裝以下開發人員相依性:
$ npm i -D @babel/core @babel/preset-env @babel/node
然後在Node. js 專案的根目錄下建立一個名為babel.config.json
的文件,並加入以下內容:
module.exports = { "presets": ["@babel/preset-env"] }
@babel/node
套件是一個CLI實用程序,它在運行Node.js 專案之前用Babel 預設和插件編譯JS 程式碼。這意味著它將在執行 Node 專案之前讀取並應用 babel.config.json
中提到的任何配置。
使用 babel-node
取代該 node
,以在 start
或 dev
腳本中執行伺服器。
使用 npm run dev
腳本運行 Node 伺服器的範例:
{ "scripts": { "dev": "nodemon --exec babel-node server.js" } }
更多程式相關知識,請造訪:程式設計影片! !
以上是淺談Node.js中ES6導入語法的使用方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!