位置: 编程技术 - 正文

在 Node.js 中使用原生 ES 模块方法解析(node.js使用教程)

编辑:rootadmin

推荐整理分享在 Node.js 中使用原生 ES 模块方法解析(node.js使用教程),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:node.js deno,node.js怎么用,node.js使用教程,node.js使用教程,nodejs使用视频教程,node.js适用哪些场景,node.js用到了什么,node.js怎么用,内容如对您有帮助,希望把文章链接给更多的朋友!

从版本 8.5.0 开始,Node.js 开始支持原生 ES 模块,可以通过命令行选项打开该功能。新功能很大程度上得归功于 Bradley Farias。

1.演示

这个示例的代码目录结构如下:

lib.mjs:

main.mjs:

运行演示:

2.清单:需要注意的事情

ES 模块:

·不能动态导入模块。但是 动态import() 的相关工作正在进行中,应该很快就能提供支持。

·没有元变量,如 __dirname 和 __filename。但是,有一个的类似功能的提案:“import.meta”。看起来可能是这样:

·现在所有模块标识符都是 URL(这部分在 Node.js 是新增的):

·文件 - 带文件扩展名的相对路径: ../util/tools.mjs

·库 - 没有文件扩展名,也没有路径 lodash

·如何更好地使 npm 库在浏览器中也可用(不使用 bundler)仍有待观察。一种可能性是引入 RequireJS 风格的配置数据,将路径映射到实际路径。目前,在浏览器中使用 bare path 的模块标识符是非法的。

与 CJS 模块的互操作性

你可以导入 CJS 模块,但它们总是只有默认的导出 - 即 module.exports 的值。让 CJS 模块支持命名导出已经在做了,但可能需要一段时间。如果你能帮忙,可以来做。

在 Node.js 中使用原生 ES 模块方法解析(node.js使用教程)

· 不能在 ES 模块中使用 require()。主要原因是:

· 路径解析工作稍有不同:ESM 不支持 NODE_PATH 和 require.extensions。而且,它的标识符始终是 URL 也会导致一些细微差异。

· ES 模块始终以异步方式加载,这确保了与 Web 的最大兼容性。这种加载风格并不能通过 require() 混合使用同步加载 CJS 模块。

· 禁止同步模块加载也可以为 Top-level await 导入 ES 模块保留后路(一个当前正在考虑的功能)。

3.早期版本的 Node.js 上的 ES 模块

如果要在 8.5.0 之前的 Node.js 版本上使用 ES 模块,请参阅 John-David Dalton 的 @std/esm。

提示:如果不启用任何可解锁的额外功能,将在 Node.js 保持 % 兼容原生 ES 模块.

FAQ

什么时候可以不带命令行选项使用ES 模块?

目前的计划是在 Node.js LTS 中默认可使用 ES 模块。

进一步阅读

有关 Node.js 和浏览器中 ES 模块的更多信息:

· “Making transpiled ES modules more spec-compliant” [using ES modules natively vs. transpiling them via Babel]

· “Module specifiers: what's new with ES modules&#;” [Why .mjs&#; How are module specifiers resolved&#; Etc.]

· “Modules” [in-depth chapter on ES modules in “Exploring ES6”]

即将到来的 ECMAScript 提案:

· 博客: “ES proposal: import() ? dynamically importing ES modules”

· 提案: “import.meta”

总结

标签: node.js使用教程

本文链接地址:https://www.jiuchutong.com/biancheng/379518.html 转载请保留说明!

上一篇:Node.js+jade抓取博客所有文章生成静态html文件的实例(nodejs抓取网页内容)

下一篇:深入理解Node.js中通用基础设计模式(深入理解两个大计重要论断心得体会)

  • 工资里个人代扣款是什么
  • 纳税检查调整的滞纳金怎么收
  • 城建税计算方法有哪些
  • 买房子一定要交税吗
  • 合营企业和联营企业的持股比例
  • 年报和汇算清缴报表数字不一致
  • 青年企业家协会入会要求
  • 购进电脑怎么折旧
  • 原始凭证包括会计档案吗
  • 工程投标保证金最新规定
  • 存货和应付账款
  • 季度开票超过9万个人所得税
  • 取得土地无形资产的条件
  • 财务费用负数是什么意思
  • 开票方开错发票
  • 资产和负债可以一增一减吗
  • 汇算清缴已退税的还可以作废吗
  • 股东与公司之间是什么关系
  • 受托加工物资算资产吗
  • 社保已申报未缴费可以减员吗
  • 收购免税农产品的税率
  • 华为折叠手机mateXs3
  • 个税手续费返还属于政府补助吗
  • 应收账款的内容包括
  • 出口退税会计分录例题
  • 关闭系统自动调屏幕亮度
  • 电脑怎样进入cmos设置
  • window10玩吃鸡总崩溃
  • php使用memcache
  • 未开票收入以后必须开票吗
  • 现金日记账的填制要求
  • 计算机视觉:一种现代方法
  • 假如你知道这样是什么歌
  • vi命令模式下的常用命令有哪些?
  • php基于单例模式开发
  • mysql alter table命令修改表结构实例详解
  • 银行承兑汇票贴现分录
  • 机动车价外费用发票如何开具
  • 哪些增值税发票不可以抵扣
  • SqlServer如何通过SQL语句获取处理器(CPU)、内存(Memory)、磁盘(Disk)以及操作系统相关信息
  • 支付个人赔偿款要交税吗
  • 企业印花税怎么入账
  • 利润表中的资产处置收益应该计入营业利润还是利润总额
  • 境外服务费代扣代缴所得税怎么做账
  • 内含报酬率概念
  • 电子承兑到期怎么收款
  • 装潢装修费用属于营改增
  • 办公用品采购如何记账
  • 应交增值税进项税额月底怎么处理
  • 进项税可以跨年结转吗
  • 航天信息税票
  • 其他综合收益属于什么科目借贷
  • 财务费用怎么计入现金流量表
  • sql参数化是什么意思
  • linux系统中的用户分为哪几类
  • gdiwindow是什么
  • 常见内存大小
  • 微软修复系统
  • pull current
  • linux安装迅雷
  • shell下同时读取多个文件的方法
  • centos 做bond
  • win7电脑显示屏显示不全怎么调整
  • linux getuid
  • linux系统开发环境
  • windows7压缩文件图标
  • cocos2dx游戏案例
  • 黑客需要学哪些
  • checkbox1
  • jQuery插件能输出到控制台
  • linux shell脚本攻略(第3版)
  • vue.js购物车
  • vue devtools功能
  • 安卓手机管家是什么
  • jquery中可以用什么方法来获取和设置元素属性
  • jquery常用函数
  • 定额发票是什么票据类型
  • 怎么删除天眼查诉讼信息
  • 税务局2017年40号令
  • 医院黄票可以报销吗
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设