亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

JavaScript中的JSON模塊怎么用

發布時間:2021-12-29 09:35:14 來源:億速云 閱讀:213 作者:小新 欄目:web開發

這篇文章主要為大家展示了“JavaScript中的JSON模塊怎么用”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“JavaScript中的JSON模塊怎么用”這篇文章吧。

ECMAScript 模塊系統( importexport 關鍵字)默認只能導入 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"

JavaScript中的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.nameconfig.version

JavaScript中的JSON模塊怎么用

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及以上版本中使用。

以上是“JavaScript中的JSON模塊怎么用”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

桦川县| 厦门市| 西昌市| 大宁县| 镇巴县| 枣阳市| 阳曲县| 梧州市| 武清区| 都昌县| 电白县| 丹寨县| 云林县| 农安县| 公主岭市| 北流市| 桂阳县| 乐至县| 栾城县| 鹿泉市| 定兴县| 山阳县| 巴楚县| 宁强县| 鄱阳县| 金湖县| 峨边| 工布江达县| 奉节县| 大余县| 阜城县| 望谟县| 白城市| 兴隆县| 邹城市| 昔阳县| 乳山市| 临夏县| 巍山| 德清县| 连城县|