摘要:年月日目前,對(duì)的支持又有新進(jìn)展。一個(gè)新的更新了當(dāng)前的實(shí)現(xiàn)方案。根據(jù)的值確認(rèn)入口文件加載模式在文件中的字段指定入口文件,根據(jù)字段來(lái)指定是還是模式來(lái)加載。
2019年3月29日目前,Node 對(duì) ES6 Module 的支持又有新進(jìn)展。一個(gè)新的 PR 更新了當(dāng)前 --experimental-modules 的實(shí)現(xiàn)方案。
type 動(dòng)態(tài)判斷模塊加載模式
更新后的方案將根據(jù) package.json 文件中指定的 type 值來(lái)判斷 js 文件是使用 ESM 還是 commonjs
如果 type 的值為 module 那么 js 文件將被作為 ESM 加載
如果 type 的值為 commonjs 那么 js 文件將被作為 commonjs 來(lái)加載
好處就是不需要使用 .mjs 這種與傳統(tǒng) js 擴(kuò)展名不同的寫(xiě)法
使用 flag 指定入口文件模塊加載模式
更新后的方案允許開(kāi)發(fā)者使用 --entry-type=type 的方式來(lái)指定入口文件的解析方式,判斷行為與 package.json 的 type 一致
支持新的擴(kuò)展名 .cjs
新的擴(kuò)展名 .cjs 表示在 module 模式的加載環(huán)境下去使用 commonjs 來(lái)加載擴(kuò)展名為 .cjs 的模塊
模塊加載方式有所改變
新的 flag:--es-module-specifier-resolution=[type] 的默認(rèn)值是 explicit,和可選值 node,在默認(rèn)值的情況下引入模塊時(shí)必須書(shū)寫(xiě)擴(kuò)展名。
This implies that ./x will only ever import exactly the sibling file "x" without appending paths or extensions. "x" is never resolved to x.mjs or x/index.mjs (or the .js equivalents).比方說(shuō)這里加載 ./x 模塊,那么默認(rèn)情況下只會(huì)加載名為 x 的模塊,而不是去嘗試加載 x.mjs 或 x/index.mjs
提案在此:https://github.com/GeoffreyBo...
在 ESM 模式下加載 json 文件
--experimental-json-loader flag 能夠在 ESM 模式下加載 JSON 文件。
導(dǎo)入的 json 文件將提供的 json 文件中的內(nèi)容轉(zhuǎn)化為一個(gè)對(duì)象或數(shù)組。就好像直接通過(guò) JSON 模塊 parse 了一樣。
main 根據(jù) type 的值確認(rèn)入口文件加載模式
在 package.json 文件中的 main 字段指定入口文件,根據(jù) type 字段來(lái)指定是 commonjs 還是 ESM 模式來(lái)加載。
參考:
https://github.com/nodejs/nod...
https://github.com/GeoffreyBo...
請(qǐng)關(guān)注我的訂閱號(hào),不定期推送有關(guān) JS 的技術(shù)文章,只談技術(shù)不談八卦
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.hztianpu.com/yun/109220.html
摘要:利用在開(kāi)發(fā)中使用整理自,從屬于筆者的現(xiàn)代開(kāi)發(fā)語(yǔ)法基礎(chǔ)與實(shí)踐技巧系列中的模塊化與構(gòu)建章節(jié)。本文主要介紹了如何利用第三方庫(kù)在應(yīng)用中順滑地使用語(yǔ)法。 利用 std/esm 在 Node.js 開(kāi)發(fā)中使用 ES Modules 整理自ES Modules in Node Today!,從屬于筆者的現(xiàn)代 JavaScript 開(kāi)發(fā):語(yǔ)法基礎(chǔ)與實(shí)踐技巧系列中的模塊化與構(gòu)建章節(jié)。本文主要介紹了如何利...
摘要:比如,這種模擬并不符合某些邊緣情況。然而,使用,結(jié)果是在引導(dǎo)模塊時(shí),將指向,與使用的行為一致。這將更容易完成代碼庫(kù)的過(guò)渡,并使成為可能。 原文作者:Johannes Ewald @Jhnnns 原文鏈接:The state of JavaScript modules 已獲原作者授權(quán)翻譯及發(fā)布 showImg(https://segmentfault.com/img/bVOpwz?w...
摘要:前端每周清單第期微服務(wù)實(shí)踐,與,組件技巧,攻防作者王下邀月熊編輯徐川前端每周清單專(zhuān)注前端領(lǐng)域內(nèi)容,以對(duì)外文資料的搜集為主,幫助開(kāi)發(fā)者了解一周前端熱點(diǎn)分為新聞熱點(diǎn)開(kāi)發(fā)教程工程實(shí)踐深度閱讀開(kāi)源項(xiàng)目巔峰人生等欄目。 前端每周清單第 26 期:Node.js 微服務(wù)實(shí)踐,Vue.js 與 GraphQL,Angular 組件技巧,HeadlessChrome 攻防 作者:王下邀月熊 編輯:徐川...
摘要:巔峰人生年老兵思路上的轉(zhuǎn)變,遠(yuǎn)比單純提升技術(shù)更有價(jià)值本文節(jié)選自趙成教授在極客時(shí)間開(kāi)設(shè)的趙成的運(yùn)維體系管理課,是其對(duì)自己十年技術(shù)生涯的回顧與總結(jié)。趙成教授來(lái)自美麗聯(lián)合集團(tuán),集團(tuán)旗下兩大主力產(chǎn)品是蘑菇街和美麗說(shuō),目前負(fù)責(zé)管理集團(tuán)的技術(shù)服務(wù)團(tuán)隊(duì)。 showImg(https://segmentfault.com/img/remote/1460000012476504?w=1240&h=826...
摘要:前端每周清單專(zhuān)注前端領(lǐng)域內(nèi)容,以對(duì)外文資料的搜集為主,幫助開(kāi)發(fā)者了解一周前端熱點(diǎn)分為新聞熱點(diǎn)開(kāi)發(fā)教程工程實(shí)踐深度閱讀開(kāi)源項(xiàng)目巔峰人生等欄目。對(duì)該漏洞的綜合評(píng)級(jí)為高危。目前,相關(guān)利用方式已經(jīng)在互聯(lián)網(wǎng)上公開(kāi),近期出現(xiàn)攻擊嘗試爆發(fā)的可能。 前端每周清單專(zhuān)注前端領(lǐng)域內(nèi)容,以對(duì)外文資料的搜集為主,幫助開(kāi)發(fā)者了解一周前端熱點(diǎn);分為新聞熱點(diǎn)、開(kāi)發(fā)教程、工程實(shí)踐、深度閱讀、開(kāi)源項(xiàng)目、巔峰人生等欄目。歡...
閱讀 2215·2019-08-30 15:52
閱讀 2582·2019-08-29 18:37
閱讀 953·2019-08-29 12:33
閱讀 2989·2019-08-29 11:04
閱讀 1721·2019-08-27 10:57
閱讀 2260·2019-08-26 13:38
閱讀 2911·2019-08-26 12:25
閱讀 2603·2019-08-26 12:23