位置: 编程技术 - 正文

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

  • 土地税和房产税缴纳时间
  • 怎么查19年以前税收
  • 税收契子怎么算
  • 库存商品余额在借方
  • 简易征收 抵扣进项
  • 虚拟货币会计分录
  • 其他业务成本影响营业成本吗
  • 如何处理固定资产长期待摊费
  • 非破产清算会计案例
  • 印花税按什么征收
  • 销售折扣怎么开
  • 发包工程会计账务处理
  • 融资租赁的固定资产由承租方进行核算,体现了( )原则
  • 免费样品开具发票如何入账处理?
  • 取得转账支票后该如何处理
  • 销售固定资产未收到钱
  • 出口退税和企业所得税
  • .车船税不在汽车保险里如何入账
  • 单位自办食堂为单位职工提供餐饮服务要交增值税吗
  • 负债判断
  • 转让无形资产税目征收营业税的是
  • 闲置资金购买理财产品
  • 公益性捐赠税前扣除资格认定程序
  • 飞机票的保险费可以退吗
  • 内部应收账款计算公式
  • 公司个人垫付的费用会计分录
  • 配股的基本含义是什么
  • 王者荣耀干将莫邪技能
  • 技嘉主板无法安装网卡驱动
  • mac侧边栏设置
  • 为什么系统弹出登录此网络
  • linux1970
  • PHP:highlight_file()的用法_misc函数
  • 电脑开不了机一直重启
  • 股权投资借差
  • 划拨用地无使用权怎么办
  • 合伙养殖需要注意什么
  • spring boot 接受参数
  • 木制家具出口流程
  • 百度飞桨paddle
  • 公司开发新产品或购买许可证最快的方法是
  • zencart安装教程
  • 10分钟搞定3种网红小吃
  • 工程完工后的质量抽检不合格怎么办
  • php ajax 教程
  • 专项应付款怎么冲销
  • echarts图大小设置
  • discuz论坛安装步骤
  • 生产型企业出口退税会计分录
  • 用于应酬用的烟有哪些
  • 帝国cms使用手册
  • 无形资产减值准备可以转回吗
  • 解决PostgreSQL服务启动后占用100% CPU卡死的问题
  • 印花税如何计提缴纳
  • 增值税普票跨月作废怎么操作
  • 预付卡开不征税发票
  • 期末没有结账成本怎么办
  • 房地产开发企业销售自行开发的房地产项目
  • 企业建帐的基本要求
  • mysql 5.7.33安装
  • mysql配置怎么调出来
  • 怎么用u盘装xp系统教程
  • win8系统对电脑配置要求
  • ubuntu14.04升级
  • linux系统中安装软件的批处理文件
  • win7系统ie8浏览器
  • scardsvr32.exe - scardsvr32是什么进程 有什么用
  • win8系统笔记本怎么恢复出厂设置
  • linux必会的20种服务
  • nodejs爬虫框架crawler
  • 原生js实现节日变化
  • linux sleep 2
  • python数学语言
  • 能用python做什么
  • unityugui
  • 安卓自定义app
  • 两个手机怎么设置
  • 河北省国家税务局长简介
  • 怎么登录吉林省公务员网络培训学院
  • 如何落实请示汇报
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设