Now vibe coding, so learning hammer FE ?
《原生JSON模块终于成为现实》
标签:#JavaScript #ESModules #JSON #Web标准
总结:本文介绍了JavaScript平台原生支持JSON模块导入的新特性。通过使用
文章要点:
- 使用
- 动态导入同样支持:
- 导入的JSON会被解析一次并缓存,多次导入返回同一对象实例(
- 浏览器仍需服务器返回
- 与打包工具方案对比:原生方案在运行时获取文件,而打包工具通常在构建时内联JSON
- 此特性不仅限于JSON,已扩展支持CSS模块脚本(
- 现代浏览器、Node.js、Deno、Bun均已支持该特性,但打包工具在代码分割、资源哈希等方面仍有价值
文章URL:https://allthingssmitty.com/2026/03/16/native-json-modules-are-finally-real/
标签:#JavaScript #ESModules #JSON #Web标准
总结:本文介绍了JavaScript平台原生支持JSON模块导入的新特性。通过使用
import attributes语法with { type: "json" },开发者现在可以在浏览器、Node.js、Deno和Bun中直接导入JSON文件,无需构建工具转换。这标志着从构建时模拟到运行时原生支持的转变,使模块系统更加显式和可扩展。文章要点:
- 使用
import config from "./config.json" with { type: "json" }语法实现原生JSON导入,替代了以往需要打包工具转换的方式- 动态导入同样支持:
await import("./config.json", { with: { type: "json" } })- 导入的JSON会被解析一次并缓存,多次导入返回同一对象实例(
a === b为true)- 浏览器仍需服务器返回
Content-Type: application/json,并遵循CORS规则- 与打包工具方案对比:原生方案在运行时获取文件,而打包工具通常在构建时内联JSON
- 此特性不仅限于JSON,已扩展支持CSS模块脚本(
with { type: "css" }),为未来其他结构化模块类型建立模式- 现代浏览器、Node.js、Deno、Bun均已支持该特性,但打包工具在代码分割、资源哈希等方面仍有价值
文章URL:https://allthingssmitty.com/2026/03/16/native-json-modules-are-finally-real/