迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 编程语言 > Node.js >

Node.js 中 TypeError [ERR_IMPORT_ASSERTION_TYPE_MISSING]

作者:迹忆客 最近更新:2023/05/09 浏览次数:

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

nodejs TypeError ERR_IMPORT_ASSERTION_TYPE_MISSING .jpg

这是发生该错误的示例。

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

其中,我们的 example.json 文件内容如下

module.exports = {
  "person": {
    "name": "Alice",
    "country": "Austria",
    "tasks": ["develop", "design", "test"],
    "age": 30
  }
}

上面这行抛出了一个错误,因为我们需要明确指出我们正在导入一个 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 语法。

package.json

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

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

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

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

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

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

在 Node.js 中编码 URL

发布时间:2023/03/27 浏览次数:201 分类:Node.js

在这篇简短的文章中,我们将学习如何在 Node.js 中进行 URL 编码。

在 Node.js 中编码 Base64

发布时间:2023/03/27 浏览次数:155 分类:Node.js

在本文中,我们将学习如何在 Node.js 中将字符串或文本转换为 base64。

Node.js 与 React JS 的比较

发布时间:2023/03/27 浏览次数:137 分类:Node.js

本文比较和对比了两种编程语言,Node.js 和 React。React 和 Node.js 都是开源 JavaScript 库的示例。 这些库用于构建用户界面和服务器端应用程序。

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便