搜尋
首頁web前端js教程淺談Node.js中ES6導入語法的使用方法

Node.js中如何使用ES6匯入語法?本篇文章就來跟大家介紹一下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 startnpm run dev 運行Node.js,您將遇到以下錯誤:

淺談Node.js中ES6導入語法的使用方法

由於我們使用了ES 模組語法匯入path 模組而導致程式崩潰。

而目前最快速的解決方法是,我們可以使用Node.js 推薦的方法,在package.json 檔案中設定"type" : "module"

{
  "type": "module"
}

此解決方案適用於最新的 Node.js 版本 14.x.x 以上的版本(撰寫本文時為 15.6.0)。

淺談Node.js中ES6導入語法的使用方法

低於Node v.14 版本的環境

另一個解決這個問題的方法是使用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,以在 startdev 腳本中執行伺服器。

使用 npm run dev 腳本運行 Node 伺服器的範例:

{
  "scripts": {
    "dev": "nodemon --exec babel-node server.js"
  }
}

更多程式相關知識,請造訪:程式設計影片! !

以上是淺談Node.js中ES6導入語法的使用方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文轉載於:掘金社区。如有侵權,請聯絡admin@php.cn刪除
Vercel是什么?怎么部署Node服务?Vercel是什么?怎么部署Node服务?May 07, 2022 pm 09:34 PM

Vercel是什么?本篇文章带大家了解一下Vercel,并介绍一下在Vercel中部署 Node 服务的方法,希望对大家有所帮助!

node.js gm是什么node.js gm是什么Jul 12, 2022 pm 06:28 PM

gm是基于node.js的图片处理插件,它封装了图片处理工具GraphicsMagick(GM)和ImageMagick(IM),可使用spawn的方式调用。gm插件不是node默认安装的,需执行“npm install gm -S”进行安装才可使用。

怎么使用pkg将Node.js项目打包为可执行文件?怎么使用pkg将Node.js项目打包为可执行文件?Jul 26, 2022 pm 07:33 PM

如何用pkg打包nodejs可执行文件?下面本篇文章给大家介绍一下使用pkg将Node.js项目打包为可执行文件的方法,希望对大家有所帮助!

一文解析package.json和package-lock.json一文解析package.json和package-lock.jsonSep 01, 2022 pm 08:02 PM

本篇文章带大家详解package.json和package-lock.json文件,希望对大家有所帮助!

分享一个Nodejs web框架:Fastify分享一个Nodejs web框架:FastifyAug 04, 2022 pm 09:23 PM

本篇文章给大家分享一个Nodejs web框架:Fastify,简单介绍一下Fastify支持的特性、Fastify支持的插件以及Fastify的使用方法,希望对大家有所帮助!

node爬取数据实例:聊聊怎么抓取小说章节node爬取数据实例:聊聊怎么抓取小说章节May 02, 2022 am 10:00 AM

node怎么爬取数据?下面本篇文章给大家分享一个node爬虫实例,聊聊利用node抓取小说章节的方法,希望对大家有所帮助!

手把手带你使用Node.js和adb开发一个手机备份小工具手把手带你使用Node.js和adb开发一个手机备份小工具Apr 14, 2022 pm 09:06 PM

本篇文章给大家分享一个Node实战,介绍一下使用Node.js和adb怎么开发一个手机备份小工具,希望对大家有所帮助!

图文详解node.js如何构建web服务器图文详解node.js如何构建web服务器Aug 08, 2022 am 10:27 AM

先介绍node.js的安装,再介绍使用node.js构建一个简单的web服务器,最后通过一个简单的示例,演示网页与服务器之间的数据交互的实现。

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
2 週前By尊渡假赌尊渡假赌尊渡假赌
倉庫:如何復興隊友
4 週前By尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
4 週前By尊渡假赌尊渡假赌尊渡假赌

熱工具

MantisBT

MantisBT

Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

mPDF

mPDF

mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),

DVWA

DVWA

Damn Vulnerable Web App (DVWA) 是一個PHP/MySQL的Web應用程序,非常容易受到攻擊。它的主要目標是成為安全專業人員在合法環境中測試自己的技能和工具的輔助工具,幫助Web開發人員更好地理解保護網路應用程式的過程,並幫助教師/學生在課堂環境中教授/學習Web應用程式安全性。 DVWA的目標是透過簡單直接的介面練習一些最常見的Web漏洞,難度各不相同。請注意,該軟體中