精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

一個提出五年的 Node.js 模塊問題,終被解決!

開發 前端
ES Modules 在文件頂層可以使用 Top-Level Await,該方法看之前的介紹,是在使用 esm 加載器加載的 .mjs 文件上使用 require 的功能時,使用了與 esm Top-Level Await 相同的權衡。

一直以來 Node.js 中存在一個問題,CommonJS 與 ES Modules 如何更好的共存? 是令大多數 Node.js 開發者頭疼的問題。

問題

當在 ES Modules 模塊中引入 CommonJS 模塊代碼,一切是 Ok 的。如下代碼所示:

// c.js
module.exports = {
  moduleName: 'a'
}
// m.mjs
import C_Module from './c.js'
console.log(C_Module); // { moduleName: 'a' }

換一種方式,讓 CommonJS 引入 ES Modules,如下代碼所示:

// m.mjs
export default 'm'
// c.js
const M_Module = require('./m.mjs')
console.log(M_Module);

終端運行 node c.js,會得到如下提示

圖片圖片

ERR_REQUIRE_ESM 這個錯誤太熟悉不過了,它困惑了很多的 Node.js 開發者,為什么換個順序就不行?

看到的很多答案是這樣的 “不支持使用 require 加載 ES 模塊,因為 ES 模塊是異步執行的”,后面大家就默認了 “CommonJS 是同步,ES Modules 是異步” 這樣的一個規則。

2019 提出后很遺憾未能繼續推進

CommonJS 模塊如何加載 ES Modules 模塊,這個問題 2019 年就已經提出,參考 “Support requiring .mjs files” https://github.com/nodejs/node/pull/30891 這個問題在當時沒有被解決。

圖片圖片

ES Modules 在文件頂層可以使用 Top-Level Await,該方法看之前的介紹,是在使用 esm 加載器加載的 .mjs 文件上使用 require 的功能時,使用了與 esm Top-Level Await 相同的權衡。

這意味著:如果可能,所有執行和評估都是同步進行的,通過立即展開執行的組件承諾。這意味著任何現有的代碼都不應該有可觀察到的行為變化,因為到目前為止還不存在任何異步模塊。問題在于,一旦使用需要異步執行的模塊,它必須讓出事件循環來執行該操作,這反過來又允許其他代碼在異步操作之后的繼續執行之前執行,這對于現在變成了異步模塊的調用者是可觀察到的。如果這對你的調用者很重要,那么意味著將你的模塊執行異步化可能被視為庫的破壞性更改,但實際上,對于大多數調用者來說,這并不重要。而且,由于當前的生態系統,零個模塊是異步執行的,因此在有異步執行的模塊之前,這種方法沒有任何缺點,因為沒有執行會改變人們今天所期望的(當然,除了不再錯誤地要求("./foo.mjs"))。

最后,問題被關閉了,原因是 “因為純粹從技術角度來看,目前嘗試在事件循環已經運行時旋轉它是行不通的”。

圖片圖片

問題是挺錯綜復雜的,感興趣的可以去看看 2019 年提出的這個 Issue。

2024 由 Joyee Cheung's 提出解決方案

2019 ~ 2024 這一令大多數開發者頭疼的問題,由 Node.js 的維護者成員 “Joyee Cheung” 再次提出了解決方案。參考 Issue “module: support require()ing synchronous ESM graphs” https://github.com/nodejs/node/pull/51977

圖片圖片

參考 Joyee Cheung 博客的介紹 https://joyeecheung.github.io/blog/2024/03/18/require-esm-in-node-js/

圖片圖片

去年年底左右,Joyee Cheung 發現了 ESM 的求值可以基于語法同步,而只是 Node.js 將異步性扔到加載過程中后,便與 @GeoffreyBooth 開始討論重新啟動同步 require(esm)。

因此,才有了這個 PR。與 2019 年的 PR 相比主要區別在于它試圖將 require(esm) 的范圍保持小型,并且僅支持加載同步 ESM。

后續會通過 --experimental-require-module 標志啟用,則加載的 ECMAScript 模塊 require() 時要滿足以下要求:

  • 在最接近的 package.json 文件或 .mjs 擴展中明確標記為 ES 模塊,具有 "type": "module" 字段
  • 完全同步(不包含 Top-Level Await)

有網友就在下面問了,這能向后移至到 Node.js 18? 大家還是很喜歡這個功能的!Node.js v20 可能還有希望,這要取決于 Node.js 的發布團隊,期待下個 Node.js 版本!

圖片圖片

這一問題的解決對 Node.js 模塊來講是里程碑式的,很敬佩 Joyee Cheung 的才華!

參考

  • https://github.com/nodejs/node/pull/30891
  • https://github.com/nodejs/node/pull/51977
  • https://joyeecheung.github.io/blog/2024/03/18/require-esm-in-node-js/
責任編輯:武曉燕 來源: Nodejs技術棧
相關推薦

2025-07-11 08:09:07

Node.jsAPI權限

2023-06-30 23:25:46

HTTP模塊內存

2011-10-25 09:28:30

Node.js

2022-01-07 08:00:00

Node.js開發Web

2021-12-28 20:04:23

Node.js開發JavaScript

2021-09-26 05:06:04

Node.js模塊機制

2020-08-07 10:40:56

Node.jsexpress前端

2020-10-23 06:40:31

Node.js前端開發

2024-03-15 09:26:59

2020-04-15 15:48:03

Node.jsstream前端

2025-05-26 00:31:31

2019-12-17 11:40:44

Node.js模塊前端

2022-06-05 13:52:32

Node.jsDNS 的原理DNS 服務器

2011-06-17 10:29:04

Nodejavascript

2022-01-02 06:55:08

Node.js ObjectWrapAddon

2021-09-15 19:02:42

Node.jsFs模塊

2014-08-01 10:24:11

2020-08-24 08:07:32

Node.js文件函數

2022-10-18 18:43:40

Node.js低代碼

2022-12-14 14:40:27

Node.js開發應用程序
點贊
收藏

51CTO技術棧公眾號

99一区二区三区| 欧美精品一区二区三| 亚洲视频sss| 国产精品视频一二区| 欧美特黄视频| 亚洲老头老太hd| 爱豆国产剧免费观看大全剧苏畅| 啦啦啦中文在线观看日本| 国产69精品久久久久777| 欧美自拍视频在线观看| 国产精品国产三级国产传播| 麻豆一区一区三区四区| 欧美日韩亚洲国产综合| 人妻少妇精品无码专区二区| melody高清在线观看| 国产成人一级电影| 国产精品久久久久久久9999| 看片网站在线观看| 欧洲乱码伦视频免费| 日韩视频一区二区三区在线播放| 青青在线免费观看视频| 岛国片av在线| 亚洲欧洲av在线| 久久综合九色99| 国产福利免费视频| 日韩电影在线免费观看| 66m—66摸成人免费视频| 一起操在线播放| 精品国产一区二区三区久久久樱花| 日韩精品一区二区三区视频在线观看| 国产视频一区二区视频| av电影院在线看| 亚洲欧美日韩国产成人精品影院 | 国产精品久久久久77777丨| 亚洲小说欧美激情另类| 黄瓜视频免费观看在线观看www | 久久一区二区三区四区| 成人欧美一区二区| 国产女人18毛片水18精| 美国三级日本三级久久99| 欧美做爰性生交视频| 国产成人啪精品午夜在线观看| 天天做天天爱天天综合网| 一区二区三区视频免费| 国产一区二区三区四区五区六区| 亚洲资源网你懂的| 日韩av网站在线| 亚洲成av人片在线观看无| 亚洲精品午夜| 日韩视频免费观看高清完整版| 特黄视频免费观看| 亚洲精品aaa| 欧美精品自拍偷拍动漫精品| 亚洲欧美aaa| 六九午夜精品视频| 欧美日本一区二区三区四区| 九九热精品在线播放| 福利视频一区| 在线播放亚洲一区| 国产精品999.| 一区二区三区自拍视频| 欧美不卡一区二区三区| 欧美日韩一区二区区别是什么 | 日韩av电影一区| 国产成人精品日本亚洲| 国产美女www爽爽爽| 日韩国产欧美在线播放| 国产日韩欧美在线视频观看| 国产精品毛片一区视频播| 国精产品一区一区三区mba桃花| 亚洲在线观看视频网站| 亚洲免费不卡视频| 成人av在线资源网站| 欧美日本韩国国产| 91社区在线高清| 亚洲精品乱码久久久久久黑人| 日韩精品久久一区二区| 激情国产在线| 色噜噜狠狠色综合中国| 亚洲一级免费在线观看| 午夜日韩影院| 亚洲男人天堂古典| 刘亦菲国产毛片bd| 亚洲一区二区| 97视频在线看| 伊人久久亚洲综合| 国产不卡在线播放| 狼狼综合久久久久综合网| www.亚洲资源| 亚洲一区av在线| 免费在线激情视频| 亚洲日韩中文字幕一区| 精品国产91洋老外米糕| 51妺嘿嘿午夜福利| 欧美精品自拍| 国产精品av电影| www.超碰在线.com| 国产日韩视频一区二区三区| 成人手机在线播放| 手机在线理论片| 正在播放亚洲一区| 三上悠亚ssⅰn939无码播放 | avav在线播放| 欧美大片免费观看网址| 日韩精品一区二区三区四区 | 国产精品亚洲片在线播放| 麻豆乱码国产一区二区三区| 欧美精品二区三区| 国产在线视频不卡二| 久中文字幕一区| 在线午夜影院| 欧美性视频一区二区三区| 一二三区视频在线观看| 欧美电影免费| 欧美一区二区大胆人体摄影专业网站| 国产伦精品一区二区三区免.费| 成人免费高清在线| 国产高清免费在线| 精品欧美日韩精品| 日韩精品极品视频| 欧美人妻精品一区二区三区| 免费人成网站在线观看欧美高清| 狠狠综合久久av| 亚洲综合影视| 欧美久久久久中文字幕| 人与嘼交av免费| 国产欧美一区二区色老头| 亚洲影院色在线观看免费| h视频在线播放| 91福利视频网站| 一女三黑人理论片在线| 伊人久久成人| 99免费在线视频观看| 老司机午夜在线| 欧美日韩在线观看一区二区| 好吊日免费视频| 日韩一区二区久久| 国产精品一区二区三区免费观看 | 97视频在线观看亚洲| 午夜精品在线播放| 亚洲免费在线播放| www,av在线| 亚洲精品一二三区区别| 国产日韩欧美日韩| 秋霞a级毛片在线看| 在线免费不卡视频| 久久久久久久毛片| 视频一区中文字幕国产| 欧美美乳视频网站在线观看| 国产日韩电影| 亚洲美女av在线| 久久久成人免费视频| 久久久久久99久久久精品网站| 精品中文字幕av| 久久99精品久久久久久欧洲站| 欧美精品激情在线| 手机看片1024国产| 欧美性色xo影院| 国产精品1000部啪视频| 天堂蜜桃一区二区三区| 深田咏美在线x99av| 国产极品一区| 久久久国产一区| 成 人 黄 色 片 在线播放 | 亚洲乱码国产乱码精品| 国产日韩欧美综合一区| 污污的网站免费| 欧美+亚洲+精品+三区| 国产精品二区在线| 英国三级经典在线观看| 一区二区三区天堂av| 一本一道人人妻人人妻αv| 亚洲伦理在线精品| 美女伦理水蜜桃4| 一区二区福利| 亚洲国产精品久久久久婷婷老年| 亚洲久草在线| 高清欧美性猛交xxxx| 亚洲欧美一区二区三| 欧洲国内综合视频| 久久精品一级片| 久久亚洲欧美国产精品乐播| 艹b视频在线观看| 欧美日韩精品| 日韩伦理一区二区三区av在线| 欧美综合影院| 久久久久久91| 国产美女视频一区二区三区| 91精品在线麻豆| 国产做受高潮漫动| 国产精品视频在线看| 911亚洲精选| 男人的天堂亚洲一区| 精品人妻人人做人人爽| 国产精品手机在线播放| 99re资源| 99re久久| 9.1国产丝袜在线观看| 日本电影在线观看网站| 亚洲激情久久久| 国产精品久久久久久久久久久久久久久久久久 | 日本不卡在线观看| 日韩高清二区| 国产精品爽爽爽| 欧美成人一二三区| av网站免费线看精品| 91制片厂毛片| 国内精品久久久久久久97牛牛 | 欧美色图校园春色| 天堂精品中文字幕在线| 日韩激情视频一区二区| 天天色综合色| 五码日韩精品一区二区三区视频| 国产精品videossex| 国产日韩欧美日韩| 国产另类xxxxhd高清| 国产69精品久久久久99| 黄色成年人视频在线观看| 亚洲夜晚福利在线观看| 天堂网在线中文| 欧美一区二区三区日韩视频| 国产精品自拍第一页| 欧美日韩视频在线| 国产精品a成v人在线播放| 亚洲色图视频免费播放| 成人无码av片在线观看| 91在线porny国产在线看| 国产大尺度视频| 国产精品系列在线观看| 中文字幕成人在线视频| 青青草伊人久久| jizz欧美激情18| 久久福利毛片| 国产高清精品在线观看| 国产精品入口| 国产妇女馒头高清泬20p多| 国一区二区在线观看| 人妻激情另类乱人伦人妻| 91精品二区| 青青草免费在线视频观看| 亚洲情侣在线| 欧美大片免费播放| 国产精品theporn| 午夜探花在线观看| 欧美黄色大片网站| 人妻无码一区二区三区四区| 欧美日韩中文| 妺妺窝人体色www看人体| 韩日成人在线| 久久人人爽人人爽人人av| 极品少妇一区二区三区| 男人的天堂狠狠干| 亚洲伦理一区| 777久久久精品一区二区三区 | 精品国产乱码久久久久久蜜坠欲下 | 欧美xxxx14xxxxx性爽| www.在线视频| 欧美黑人视频一区| f2c人成在线观看免费视频| 国内精品在线一区| 欧美xxx网站| 国产精品美女主播| 成人免费91| 国产精品免费一区二区三区四区 | 亚洲狠狠婷婷综合久久久| 日本一本不卡| 国产大尺度在线观看| 国产精品第十页| 女人和拘做爰正片视频| 日韩电影在线观看一区| 亚洲精品免费一区亚洲精品免费精品一区 | 国产最新精品| 中文字幕日韩精品久久| 欧美搞黄网站| 91视频最新入口| 美国毛片一区二区| 91精品又粗又猛又爽| 久久免费看少妇高潮| 登山的目的在线| 亚洲电影一级黄| 欧美超碰在线观看| 日韩三区在线观看| 牛牛影视精品影视| 久久久久北条麻妃免费看| 国产色婷婷在线| 国产精品高清在线| 97久久超碰| 亚洲视频导航| 亚洲综合国产| 一级片黄色免费| www日韩大片| 538精品在线观看| 91福利精品视频| 免费国产精品视频| 色系列之999| 欧美日韩免费做爰大片| 中文字幕欧美日韩在线| 国产色婷婷在线| 成人xxxx视频| 视频一区在线观看| 国产 欧美 日韩 一区| 蜜桃精品视频在线| 中文成人无字幕乱码精品区| 中文字幕亚洲视频| 九九精品免费视频| 欧美videossexotv100| 阿v免费在线观看| 欧美在线国产精品| 日韩一区二区三区精品视频第3页| 欧美重口乱码一区二区| 亚洲性感美女99在线| 91福利免费观看| 久久久99免费| 五月天婷婷丁香| 91精品久久久久久蜜臀| 国产二区视频在线观看| 亚州欧美日韩中文视频| 欧美一区在线观看视频| 一区二区三区四区在线视频| 性色一区二区三区| 日本人添下边视频免费| 夜夜嗨av一区二区三区| 国产一区二区三区四区视频| 亚洲视频网站在线观看| 91丝袜在线| 国产精品视频入口| 欧美国产三级| 特种兵之深入敌后| 亚洲天堂精品视频| 中国一区二区视频| 亚洲午夜性刺激影院| 中文字幕影音在线| 韩国成人av| 国产一级久久| 国产婷婷在线观看| 亚洲丶国产丶欧美一区二区三区| 国产视频一二三四区| 久久国产天堂福利天堂| 亚洲精品一区二区在线播放∴| 亚洲午夜精品久久久久久浪潮| 日韩国产高清在线| 黄大色黄女片18免费| 欧美视频精品在线| 免费大片黄在线| 91免费看片网站| 欧美一区二区三区久久精品| 日韩高清在线一区二区| 亚洲精品日日夜夜| 亚洲AV无码一区二区三区少妇| 欧美日韩国产成人在线观看| 日本综合精品一区| 给我免费播放片在线观看| av成人免费在线| 欧美 日韩 精品| 亚洲视频电影图片偷拍一区| 国产综合色在线观看| 一区不卡视频| 国产精品123| 久久精品视频9| 精品亚洲永久免费精品 | 成人福利网站在线观看| 综合久久久久| 在线免费看黄色片| 日韩欧美在线网址| 69视频在线| 7777精品伊久久久大香线蕉语言 | 久久久久久久久久久久91| 国产精品热久久久久夜色精品三区| 一级特黄录像免费看| 欧美国产极速在线| 美女av一区| av污在线观看| 亚洲精品中文字幕乱码三区| 人人妻人人澡人人爽人人欧美一区| 91成人在线播放| 日韩国产一区二区三区| 国产裸体视频网站| 欧美天堂在线观看| 免费av在线网站| 国产免费一区| 热久久免费视频| 久久久综合久久| 国产亚洲美女久久| 日本少妇精品亚洲第一区| 男人用嘴添女人下身免费视频| 国产日产欧产精品推荐色| 国产高清第一页| 国产精品黄页免费高清在线观看| 一本精品一区二区三区| free性中国hd国语露脸| 欧美日韩亚洲综合| 午夜影院在线观看国产主播| 色香蕉在线观看| xnxx国产精品| 丰满熟妇人妻中文字幕| 国产精品丝袜视频| 亚洲黄网站黄| 一级性生活免费视频| 亚洲欧美一区二区三区久久| 视频一区日韩|