Node.js 中 TypeError [ERR_IMPORT_ASSERTION_TYPE_MISSING]

使用导入断言解决错误“TypeError [ERR_IMPORT_ASSERTION_TYPE_MISSING]: Module needs an import assertion of type json”,例如 import myJson from './example.json' assert {type: 'json'}。 此语法指示模块是 JSON 并且不被执行。

这是发生该错误的示例

// ⛔️ TypeError [ERR_IMPORT_ASSERTION_TYPE_MISSING]: Module // "init/example.json" needs an // import assertion of type "json" import myJson from './example.json';

上面这行抛出了一个错误,因为我们需要明确指出我们正在导入一个 JSON 模块,所以它不能被执行。

import myJson from './example.json' assert {type: 'json'}; // 👇️ { // name: 'Alice', // country: 'Austria', // tasks: [ 'develop', 'design', 'test' ], // age: 30 // } console.log(myJson.person); console.log(myJson.person.name); // 👉️ "Alice" console.log(myJson.person.country); // 👉️ "Austria"

注意,我们的 package.json 中的 type 属性必须设置为 module,因为我们使用的是 ES6 Modules 语法。

{ "type": "module", // ... rest }

导入断言提议为模块导入语句添加了内联语法。

在导入无法执行代码的 JSON 模块和类似模块类型时,引入了该语法以提高安全性。

这可以防止服务器以不同的 MIME 类型响应,从而导致代码意外执行的情况。

assert {type: 'json'} 语法使我们能够指定我们正在导入一个不会被执行的 JSON 或类似的模块类型。


__EOF__

本文作者龙陌
本文链接https://www.cnblogs.com/longmo666/p/18564272.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   龙陌  阅读(144)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)
点击右上角即可分享
微信分享提示