node中使用import和export

本文揭示了Node.js中使用import和export的实用技巧,让读者了解如何在JavaScript项目中实现模块化开发。

node中使用import和export

node.js居然可以直接使用import和export? 我也是今天才知道, 以下是使用方法

在这里插入图片描述

### Node.js 中 ES Modules 的 Import Export 使用方法 Node.js 自版本 12 开始实验性支持 ECMAScript 模块(ESM),允许开发者使用标准化的 `import` `export` 语句替代传统的 CommonJS 模块系统。以下是有关如何在 Node.js 中正确配置使用 ES Modules 的详细介绍。 #### 配置环境 为了启用 ES Modules 功能,需满足以下条件之一: - 将文件扩展名改为 `.mjs` 并运行脚本时添加参数 `--experimental-modules`[^2]。 - 如果使用的是 Node.js 版本 14 或更高版本,可以直接设置 `package.json` 文件中的 `"type"` 字段为 `"module"` 来声明整个项目使用 ESM[^2]。 ```json { "name": "example", "version": "1.0.0", "type": "module" } ``` #### 导出模块 通过 `export` 关键字可以导出单个或多个变量、函数以及类等内容到外部供其他模块使用。下面是一些常见的导出形式: ##### 单独命名导出 这种方式适用于希望明确指出哪些部分被暴露给外界的情况。 ```javascript // calculator.js export function add(a, b) { return a + b; } export function subtract(a, b) { return a - b; } ``` 此处展示了如何分别定义加法与减法运算并将它们单独命名为出口项[^5]。 ##### 默认导出 每个模块最多只能有一个默认导出,默认导出不需要指定名称,这使得导入更加灵活简单。 ```javascript // greeter.js const greetMessage = 'Hello!'; export default greetMessage; ``` 上面的例子中设置了字符串常量作为该模块唯一的缺省输出[^5]。 #### 引入模块 相对应地,我们还需要学会如何去引用这些已经发布的资源。 ##### 命名导入 当目标模块提供了具体名字列表的时候就可以采取这种办法来进行选取性的接入工作。 ```javascript // app.js import { add, subtract } from './calculator.js'; console.log(add(3, 4)); // 输出7 console.log(subtract(9, 6)); // 输出3 ``` 这一段代码体现了从先前建立好的计算工具集中挑选所需功能的过程。 ##### 缺省导入 对于那些只有一个主要实体要分享出来的场合来说非常合适。 ```javascript // welcome.js import greetingText from './greeter.js'; console.log(greetingText); // 显示问候词"Hello!" ``` 这里反映了读取前面提到过的预设欢迎辞的情景。 另外需要注意一点差异之处在于——相比于传统意义上的 CJS 架构下能够直接拆分接收对象属性而言,在新的体系里面则不允许如此操作除非先整体获取再局部解析才行。 --- ### 总结 以上便是围绕着 Node.js 当前所提供的最新特性即原生支持 ES Modules 层面展开的一系列探讨内容涵盖了基本概念介绍及其实际应用场景示范等方面的知识要点希望能够帮助大家更好地理解掌握这项技术从而提升日常编码效率!
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值