淺談Node.js中ES6匯入語法的使用方法
模組是匯出一個或多個值的 JavaScript 檔案。匯出的值可以是變數、物件或函式。
Node.js 應用由模組組成,其採用 CommonJS 規範,它並不是 JavaScript 語言規範的正式組成部分。【推薦學習:《》】
在 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
模組而導致程式崩潰。
而目前最快速的解決方法是,我們可以使用 ,在 package.json
檔案中設定 "type": "module"
。
{ "type": "module" }
此解決方案適用於最新的 Node.js 版本 14.x.x
以上的版本(撰寫本文時為 15.6.0
)。
低於 Node v.14 版本的環境
另一個解決這個問題的方法是使用 。它是一個 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中文網其它相關文章!
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/855/viewspace-2827559/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 小白路程之----淺談ES6部分語法
- 淺談node.js中的stream(流)Node.js
- 談談ES6語法(彙總上篇)
- 談談ES6語法(彙總下篇)
- 談談ES6語法(彙總中篇)
- 淺談python模組的匯入操作Python
- Gradle技巧之語法淺談Gradle
- 淺談Kotlin語法篇之基礎語法(一)Kotlin
- Golang- import 匯入包的語法GolangImport
- JavaScript中AMD和ES6模組的匯入匯出對比JavaScript
- es6模組化的匯入匯出
- 淺談ES6原生PromisePromise
- 淺談ES6中迭代器和生成器
- Golang-import匯入包語法GolangImport
- 淺談 PHP 中的 Trait 使用方法,報錯如何解決PHPAI
- es6語法
- react native 中es6語法解析React Native
- Dart | 淺析dart中庫的匯入與拆分Dart
- 淺談Node.js的事件環(event loop)Node.js事件OOP
- 淺談Oracle 主外來鍵刪除語法格式Oracle
- Myeclipse的使用方法-匯入、匯出Java 專案EclipseJava
- 淺談JavaScript、ES5、ES6JavaScript
- ES6的模組化語法
- ES6的相關語法
- ES6常用語法
- ES6新語法
- 淺談JavaScript中的thisJavaScript
- 淺談摩爾投票法
- 淺談ASP.NET中檔案下載函式使用方法ASP.NET函式
- 淺談Node.js和PHP程式管理Node.jsPHP
- 淺析node.js的模組載入Node.js
- 淺談 Python 的 with 語句Python
- 淺談JavaScript的語言特性JavaScript
- 【匯出匯入】% 在匯入匯出中的應用。
- ES6語法——Promise物件Promise物件
- ES6語法(三) 物件物件
- ES6新語法上
- ES6常用語法(下)