繁体   English   中英

新 Vue 3 项目中的“错误”类型不存在属性“原因”

[英]Property 'cause' does not exist on type 'Error' in new Vue 3 project

我使用以下设置通过npm init vue@latest创建了一个新的 Vue 应用程序

在此处输入图像描述

我将App.vue文件的内容替换为

<script setup lang="ts">
const e = new Error("something failed");

console.log(e.cause);
</script>

我收到以下错误

类型“错误”上不存在属性“原因”。 您需要更改目标库吗? 尝试将“lib”编译器选项更改为“es2022”或更高版本.ts(2550)

根据文档, cause 属性应该存在。 我添加了"lib": ["ESNext"],tsconfig.vitest.json , tsconfig.config.jsontsconfig.app.json (我不知道哪个需要它)。 然后我得到错误

找不到名称“控制台”。 您需要更改目标库吗? 尝试更改“lib”编译器选项以包含“dom”.ts(2584)

所以我也添加了它,现在似乎没问题了。 这对我来说感觉不对,因为这已经是一个 web 项目,我不认为基本设置缺少基本功能......

那么有没有更好的解决方案呢?

我还尝试在tsconfig.json文件中设置此字段,如下所示

{
  "files": [],
  "compilerOptions": {
    "lib": ["ESNext", "DOM"],
  },
  "references": [
    {
      "path": "./tsconfig.config.json"
    },
    {
      "path": "./tsconfig.app.json"
    },
    {
      "path": "./tsconfig.vitest.json"
    }
  ]
}

但这没有用,然后cause does not exist on type Error again。


我只想在新的 Vue 项目中访问Errorcause属性:)

您需要首先设置错误的cause ,然后您可以控制台记录它。

 const myError = new Error('Databse status:503') myError.cause = 'Database failed to connect.' console.log(myError.cause)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM