位置: 编程技术 - 正文

在 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中通用基础设计模式(深入理解两个大计重要论断心得体会)

  • 子女继承父母房产最新政策2023
  • 放弃退税理由是什么
  • 浅谈报关单填制的常见错误
  • 去年收到一张普票超范围了怎么办
  • 汽车申请报废了交强险能退吗
  • 个人申请代开发票流程怎么操作
  • 工会经费余额在借方怎么办
  • 税控盘网上申请解锁
  • 有限合伙企业属于什么经济类型
  • 咨询费是否纳印花税
  • 营业费用和营业收入的关系
  • 出口退税中哪些是免税的
  • 个体工商户可以给员工交社保吗
  • 会计工作的基本认识
  • 存货损失
  • 分给当期投资者利润如何做会计分录?
  • 小规模纳税人出租
  • 进项税转出申报表能填负数吗
  • 收入费用类科目结转至本年利润
  • 林木育种的意义和作用
  • 增值税设备抵扣怎么抵扣
  • 职工的保险费在哪里查
  • 代理进出口公司结售汇
  • 怎么用手撕胶带图解
  • 企业外币交易会计核算方法
  • 全年一次性奖金计税方式2023
  • 税务登记五证合一是哪五证
  • 建筑业甲供工程税率
  • 建筑行业收到劳务发票入工程施工科目
  • 贷款减值准备和减值准备支出的区别
  • 其他权益工具投资交易费用计入哪里
  • 在windows 7中
  • php二维数组遍历
  • 固定资产进项发票
  • navione.exe是什么意思
  • 退回多缴的所得税怎么算
  • 由于找不到msvcr120.dll,无法继续执行代码什么意思
  • 销售返利计入什么费用
  • 单位银行结算账户属于活期存款账户
  • php数组函数面试题
  • php模拟get请求
  • 国有企业正常60岁退休到什么鉴字
  • 资产负债表中各项目的期末余额
  • the模板引擎
  • 中小企业所得税优惠政策2022
  • 如何在vue项目中运行后端
  • python数学建模资料
  • 分公司财务核算独立不独立
  • 无偿受赠房屋 交个人所得税嘛
  • 工伤医疗费必须要交吗
  • 未缴增值税的贷方
  • 旅行社开具的发票可以作为福利费税前支出吗
  • 非营利组织如何盈利
  • 资产评估机构可以评估土地吗
  • 同一控股下并合并的股票
  • 预付账款货物到了之后怎么入账
  • 股权转让的印花税税率是多少
  • 补交以前年度环保税
  • 做好年底冲刺
  • 什么叫进项税率
  • 主营业务成本包括哪些
  • 分公司设立条件怎么写
  • 基于Sql Server通用分页存储过程的解决方法
  • centos备份文件夹
  • windows设备和打印机
  • members-area.exe是什么进程 members-area进程查询
  • 关于windows的开始菜单,叙述错误的是
  • 测试模式win8专业版 9200
  • Android OpenGL ES(二)----平滑着色
  • perl运行环境
  • 教你三招让电脑打字
  • python django事务transaction源码分析详解
  • 关于全局变量和局部变量说法不正确的是
  • javascriptz
  • jquery控制元素的显示与隐藏
  • 企业自产自销农产品免税政策有哪些
  • 提租补贴什么标准发放
  • 2018建筑材料考试试题及答案河南卷
  • 湖北省国家税务局官网
  • 诊所办理要求
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设