Node.js에서 ES6 가져오기 구문을 사용하는 방법은 무엇입니까? 이 기사에서는 Node.js에서 ES6 가져오기 구문을 사용하는 방법을 소개합니다.
Modules은 하나 이상의 값을 내보내는 JavaScript 파일입니다. 내보낸 값은 변수, 개체 또는 함수일 수 있습니다.
Node.js 애플리케이션은 모듈로 구성되며, 해당 모듈 시스템은 JavaScript 언어 사양의 공식적인 부분이 아닌 CommonJS 사양을 채택합니다. [추천 학습: "nodejs tutorial"]
CommonJS에는 모듈을 로드하는 데 사용되는 전역 메서드 require()
가 있습니다. 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
{ "scripts": { "dev": "nodemon --exec babel-node server.js" } }
다음 가져오기 구문은 다양한 JavaScript 파일에서 내보낸 모듈을 가져오기 위한 다음 ES 모듈 표준으로 구성됩니다. rrreee
Node.js는 ES6의 직접 가져오기를 지원하지 않습니다. JS 파일 구문에import
를 작성해 보세요. 구문: 🎜rrreee🎜 npm start
또는 npm run dev
를 사용하여 Node.js를 실행하면 다음과 같은 상황이 발생합니다. 오류: 🎜🎜🎜 🎜 path
모듈을 가져오기 위해 ES 모듈 구문을 사용했기 때문에 프로그램이 충돌했습니다. 🎜🎜현재 가장 빠른 해결책은 Node를 사용하는 것입니다. js🎜의 경우 package.json
파일에 "type": "module"
을 설정하는 것입니다. 🎜rrreee🎜이 솔루션은 최신 Node.js 버전 14.x.x
이상(작성 당시 15.6.0
)에서 작동합니다. 🎜🎜🎜@babel/node
패키지는 Node.js 프로젝트를 실행하는 CLI 유틸리티입니다. 이전에는 Babel 사전 설정과 플러그인을 사용했습니다. JS 코드를 컴파일합니다. 이는 Node 프로젝트를 실행하기 전에 babel.config.json
에 언급된 모든 구성을 읽고 적용한다는 의미입니다. 🎜🎜 start
또는 dev
스크립트에서 서버를 실행하려면 node
를 babel-node
로 바꾸세요. 🎜🎜Node 서버를 실행하기 위해 npm run dev
스크립트를 사용하는 예: 🎜rrreee🎜더 많은 프로그래밍 관련 지식을 보려면 🎜프로그래밍 비디오🎜를 방문하세요! ! 🎜위 내용은 Node.js에서 ES6 가져오기 구문을 사용하는 방법에 대한 간략한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!