首页 > web前端 > js教程 > 正文

浅谈Node.js中ES6导入语法的使用方法

青灯夜游
发布: 2021-08-09 10:12:10
转载
2991人浏览过

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 start 或 npm run dev 运行 Node.js,您将遇到以下错误:

1.png

由于我们使用了 ES 模块语法导入 path 模块而导致程序崩溃。

而目前最快速的解决方法是,我们可以使用 Node.js 推荐的方法,在 package.json 文件中设置 "type": "module"。

{
  "type": "module"
}
登录后复制

此解决方案适用于最新的 Node.js 版本 14.x.x 以上的版本(撰写本文时为 15.6.0)。

2.png

低于 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,以在 start 或 dev 脚本中执行服务器。

使用 npm run dev 脚本运行 Node 服务器的示例:

{
  "scripts": {
    "dev": "nodemon --exec babel-node server.js"
  }
}
登录后复制

更多编程相关知识,请访问:编程视频!!

以上就是浅谈Node.js中ES6导入语法的使用方法的详细内容,更多请关注php中文网其它相关文章!

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:掘金社区网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号