日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

ECMAScript 新提案:JSON模块

發布時間:2023/12/31 javascript 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ECMAScript 新提案:JSON模块 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

ECMAScript 模塊系統( import 和 export 關鍵字)默認只能導入 JavaScript 代碼。

但是,將應用程序的配置保存在一個JSON文件中往往很方便,因此,我們可能想直接將JSON文件導入ES模塊中。

長期以來,commonjs 模塊格式支持導入JSON。

好消息是,第三階段的一個名為JSON模塊的新提議,提出了一種將JSON導入到ES模塊的方法。現在,我們來看看JSON模塊是如何工作的。

1.導入 config.json.

假設,我們有一個 config.json 文件,內容如下:

{"name": "My Application","version": "v1.2" }

如何將 config.json 導入ES模塊?

例如,我們創建一個簡單的Web應用程序,從JSON配置文件中顯示應用程序的名稱和版本。

如果你試圖直接導入 config.json ,Node.js會拋出一個錯誤。

import http from 'http'; import config from './config.json'; http.createServer((req, res) => {res.write(`App name: ${config.name}\n`);res.write(`App version: ${config.version}`);res.end();}).listen(8080);

嘗試運行應用程序時,node.js拋出錯誤 TypeError [ERR_UNKNOWN_FILE_EXTENSION]: Unknown file extension ".json"

Node.js 在使用 import語句時,默認期望的是JavaScript代碼。但由于JSON模塊的提議,你可以表明你要導入的數據類型:JSON。

在修復應用程序之前,我們先來看看JSON模塊提案有哪些內容。

2. JSON 模塊提案

JSON模塊提案的本質是允許使用常規的import語句在ES模塊中導入JSON數據。

可以通過添加導入斷言來導入JSON內容:

import jsonObject from "./file.json" assert { type: "json" };

assert {type: "json"}是一個導入斷言,指示模塊應該被解析和導入為json。

jsonObject變量包含解析file.json的內容后創建的普通JavaScript對象。

一個JSON模塊的內容是使用默認導入的,命名的導入不可用。

JSON模塊也可以動態導入:

const { default: jsonObject } = await import('./file.json', {assert: {type: 'json'} });

當一個模塊被動態導入時,包括一個JSON模塊,默認的內容在default屬性中可用。

在這種情況下,導入斷言表示JSON類型。但是,有一個更通用的提議導入斷言(目前在第3階段),允許導入更多數據格式,如CSS模塊。

3. 啟用JSON模塊

現在,我們將JSON模塊集成到Web應用程序中:

import http from 'http'; import config from './config.json' assert { type: "json" }; http.createServer((req, res) => {res.write(`App name: ${config.name}\n`);res.write(`App version: ${config.version}`);res.end();}).listen(8080);

主模塊現在導入config.json文件,并訪問其值config.name和config.version。

JSON模塊工作在Node.js版本>=17.1中,也可以使用--experimental-json-modules標志啟用Experimental JSON模塊

node --experimental-json-modules index.mjs

在瀏覽器環境中,JSON模塊從Chrome 91開始可用。

4.總結

默認情況下,ES模塊只能導入JavaScript代碼。
由于JSON模塊的提議,你可以直接將JSON內容導入到ES模塊中。只要在導入語句后使用導入斷言就可以了。

import jsonContent from "./file.json" assert { type: "json" };

你可以從Node.js 17.1開始使用JSON模塊,使用實驗性標志--experimental-json-modules,并在Chrome 91及以上版本中使用。

轉載于: https://juejin.cn/post/7046531896997576718

總結

以上是生活随笔為你收集整理的ECMAScript 新提案:JSON模块的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 国产成人精品免高潮在线观看 | 青青草网站 | 日本精品视频一区二区 | 无码人妻黑人中文字幕 | 亚洲玖玖爱 | 男女作爱免费网站 | 欧美国产日韩在线观看成人 | 欧美特黄一级 | 九一精品在线 | www.三级.com | 超碰激情 | 最新中文字幕2019 | 亚州av成人 | 欧美精品成人一区二区三区四区 | 日本成人午夜 | 男女啪啪在线观看 | 艳妇乳肉豪妇荡乳av无码福利 | 国产色片| 国产精品伦 | 很色的网站| 日韩黄色三级 | 日日爽视频 | 日韩一区二区不卡视频 | 毛片网站在线播放 | 日产久久久久久 | www.好了av.com| 国产无套精品一区二区三区 | 精品国语对白 | 亚洲丝袜中文字幕 | 亚洲男人的天堂网 | 欧美香蕉| 亚洲伦理网 | 粉嫩视频在线观看 | 成年人在线观看 | 欧美日韩精品一区二区在线观看 | 亚洲福利视频一区 | 在线伊人| 日韩一二三四五区 | 三级视频网站在线观看 | 波多野结衣一区二区在线 | 国产日本在线 | 天天草夜夜草 | 一区二区三区在线免费观看视频 | 日韩成人不卡 | 国产牛牛 | 国产精品免费视频一区 | 好看的av在线 | 老司机在线看片 | 疯狂做爰的爽文多肉小说王爷 | 欧美精品一区二区三区在线 | 亚洲国产综合在线 | 男人天堂综合 | 亚洲23p | 免费观看a毛片 | 美女被男人桶出白浆喷水 | 涩五月婷婷 | 久久久久久9999 | 日本大尺度激情做爰hd | 亚洲日本视频 | 在线视频1卡二卡三卡 | 国产精品久久久久久久久久辛辛 | 少妇被黑人到高潮喷出白浆 | 四虎午夜影院 | 国产情侣自拍一区 | 人妻无码一区二区三区四区 | 五月婷婷在线播放 | 成人av在线网站 | 97超碰免费在线 | 精品国产免费人成在线观看 | 兄弟兄弟全集免费观看 | 亚洲精品乱| 女性裸体瑜伽无遮挡 | 亚洲国产精品久久久久爰性色 | 精品久久一二三区 | 亚洲区小说区图片区qvod | 天堂中文在线免费观看 | 一级生活毛片 | 涩五月婷婷 | 三级视频在线看 | 午夜影视剧场 | 91在线中文 | 久久99精品久久久久久噜噜 | 精品在线免费观看 | 粉嫩aⅴ一区二区三区四区五区 | 免费在线视频观看 | 亚洲社区一区二区 | 人妻少妇精品久久 | 国产成人自拍在线 | 欧美精品人妻一区二区 | 91丨九色丨国产在线 | 四虎影视成人永久免费观看亚洲欧美 | 丰满熟妇肥白一区二区在线 | 成人3d动漫一区二区三区91 | 国产日本一区二区三区 | 日韩男人的天堂 | 亚洲图片欧美日韩 | 日韩在线视频在线观看 | 久久va| 精品国产18久久久久久 |