日韩性视频-久久久蜜桃-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模块的全部內容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 亚洲激情中文字幕 | 国产有码视频 | 国产精品入口66mio男同 | 伊人伊人鲁 | 高清黄色一级片 | 亚洲伦理在线观看 | 亚洲高清av在线 | 极品人妻一区二区三区 | 日韩激情国产 | 免费麻豆国产一区二区三区四区 | 日韩毛片在线观看 | 看毛片网| 四虎精品欧美一区二区免费 | 国内精品人妻无码久久久影院蜜桃 | 免费a级片视频 | 色涩综合 | 国产首页 | 色人阁av | 亚洲中文字幕一区 | 欧美一区二区国产 | 深夜福利网站在线观看 | 高中男男gay互囗交观看 | 欧美人与性动交α欧美片 | 成年人视频网址 | 亚洲毛茸茸 | 西野翔夫の目の前で犯在线 | 亚洲视频在线视频 | 91啪国产在线 | 亚洲伦理影院 | 少妇被狂c下部羞羞漫画 | 午夜电影一区二区 | 激情久久视频 | 色屁屁 | 一区二区一级片 | 中文幕无线码中文字夫妻 | 夜夜爽日日澡人人添 | 久久精品这里 | 日韩视频中文字幕在线观看 | 亚洲av无码一区二区三区在线观看 | 亚洲国产精品人人爽夜夜爽 | 亚洲狼人色 | 99这里都是精品 | 欧美做受高潮 | 国产色宗合 | 午夜精品福利电影 | 国产午夜精品一区二区三区视频 | 一级爱爱免费视频 | 三级无遮挡 | 日批在线| 国产a∨精品一区二区三区仙踪林 | 射美女 | av一区二区在线播放 | 国产视频97| 神马久久久久 | 欧美黄色免费看 | 手机看片久久久 | 国产精品国产三级国产三级人妇 | 精品麻豆 | 日韩国产小视频 | 亚洲爆爽 | 999久久久精品 | 一级欧美一级日韩 | 亚洲精品国产精品国自产在线 | 亚洲一区二区自拍偷拍 | 亚洲无限观看 | 天堂视频在线 | 广州毛片 | 国产中文在线视频 | 嫩模啪啪 | 国产精品精品国产色婷婷 | 国产乱码精品一区二区三区中文 | 丝袜人妻一区二区 | 丁香八月婷婷 | 亚洲精品一区二三区 | 少妇把腿扒开让我舔18 | 欧美日韩无 | 亚洲 欧美 日韩系列 | 国产又爽又黄免费软件 | 亚洲男人天堂2018 | 国产精品免费在线播放 | 99嫩草 | 久草手机在线 | 欧洲精品一区二区三区久久 | 亚洲精品国产精品国自产在线 | 成人毛片18女人 | 亚洲综合日韩 | 悠悠色在线 | 97色婷婷 | jzzijzzij日本成熟少妇 | 日本午夜一级 | 久操国产 | 爆乳2把你榨干哦ova在线观看 | 摸丰满大乳奶水www免费 | 日本久久综合网 | 国产又粗又猛又色 | 特级淫片裸体免费看冫 | 性色av免费 | 中文婷婷| 欧美亚洲国产精品 |