<?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>ESModules | 锤子前端</title><description>Now vibe coding, so learning hammer FE ?</description><link>https://channel.meo-ai.com</link><item><title>《原生JSON模块终于成为现实》</title><link>https://channel.meo-ai.com/posts/576</link><guid isPermaLink="true">https://channel.meo-ai.com/posts/576</guid><pubDate>Wed, 18 Mar 2026 01:43:35 GMT</pubDate><content:encoded>&lt;span class=&quot;post-title-source&quot;&gt;《原生JSON模块终于成为现实》&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;标签：&lt;a href=&quot;/search/result?q=%23JavaScript&quot; title=&quot;#JavaScript&quot;&gt;#JavaScript&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23ESModules&quot; title=&quot;#ESModules&quot;&gt;#ESModules&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23JSON&quot; title=&quot;#JSON&quot;&gt;#JSON&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23Web%E6%A0%87%E5%87%86&quot; title=&quot;#Web标准&quot;&gt;#Web标准&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;总结：本文介绍了JavaScript平台原生支持JSON模块导入的新特性。通过使用&lt;code&gt;import attributes&lt;/code&gt;语法&lt;code&gt;with { type: &quot;json&quot; }&lt;/code&gt;，开发者现在可以在浏览器、Node.js、Deno和Bun中直接导入JSON文件，无需构建工具转换。这标志着从构建时模拟到运行时原生支持的转变，使模块系统更加显式和可扩展。&lt;br /&gt;&lt;br /&gt;文章要点：&lt;br /&gt;- 使用&lt;code&gt;import config from &quot;./config.json&quot; with { type: &quot;json&quot; }&lt;/code&gt;语法实现原生JSON导入，替代了以往需要打包工具转换的方式&lt;br /&gt;- 动态导入同样支持：&lt;code&gt;await import(&quot;./config.json&quot;, { with: { type: &quot;json&quot; } })&lt;/code&gt;&lt;br /&gt;- 导入的JSON会被解析一次并缓存，多次导入返回同一对象实例（&lt;code&gt;a === b&lt;/code&gt;为true）&lt;br /&gt;- 浏览器仍需服务器返回&lt;code&gt;Content-Type: application/json&lt;/code&gt;，并遵循CORS规则&lt;br /&gt;- 与打包工具方案对比：原生方案在运行时获取文件，而打包工具通常在构建时内联JSON&lt;br /&gt;- 此特性不仅限于JSON，已扩展支持CSS模块脚本（&lt;code&gt;with { type: &quot;css&quot; }&lt;/code&gt;），为未来其他结构化模块类型建立模式&lt;br /&gt;- 现代浏览器、Node.js、Deno、Bun均已支持该特性，但打包工具在代码分割、资源哈希等方面仍有价值&lt;br /&gt;&lt;br /&gt;文章URL：&lt;a href=&quot;https://allthingssmitty.com/2026/03/16/native-json-modules-are-finally-real/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; title=&quot;https://allthingssmitty.com/2026/03/16/native-json-modules-are-finally-real/&quot;&gt;https://allthingssmitty.com/2026/03/16/native-json-modules-are-finally-real/&lt;/a&gt;&lt;a class=&quot;tgme_widget_message_link_preview&quot; href=&quot;https://allthingssmitty.com/2026/03/16/native-json-modules-are-finally-real&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; title=&quot;JSON imports finally work natively. Learn how import ... with { type: &apos;json&apos; } changes runtime behavior, caching, and makes bundlers optional.&quot;&gt;
  &lt;i class=&quot;link_preview_right_image&quot; style=&quot;background-image:url(&apos;https://cdn4.telesco.pe/file/WN5gYHdJxxyjhkTgck1yzTf1hu3GVGPgTf7sTJjL1R4FDEQxWgnaKsxJTN74xI6ToumUaGyPU4tKOxWG1OX_cDOzLdEQQLdFuL7_vckUQlocyH7yD1Ajpwy6zfsc_aE4EQGUUsiMxWydbksynuRCtpteUyQZvzDFHKWkFfZ3Vg2EoOLFiUJVyNsOxbU8_DDw-QBlaMPOrByqIZprutZc7ebjn4bjTPi2GlwbbkUPqqozRQPrVoJo6ghcZ_UqyqNNMv_toySloGJNHPpRh2kU7Oe2NJtSXcTb2nbIUgZODpzcbQn1QkEEABEy6rZtZVGie_kvMXZ6JHnrstj4_Xbw2Q.jpg&apos;)&quot;&gt;&lt;/i&gt;
  &lt;div class=&quot;link_preview_site_name accent_color&quot;&gt;Allthingssmitty&lt;/div&gt;
  
  &lt;div class=&quot;link_preview_title&quot;&gt;Native JSON modules are finally real - Matt Smith&lt;/div&gt;
  &lt;div class=&quot;link_preview_description&quot;&gt;JSON imports finally work natively. Learn how import ... with { type: &apos;json&apos; } changes runtime behavior, caching, and makes bundlers optional.&lt;/div&gt;
&lt;/a&gt;</content:encoded></item></channel></rss>