TypeScript 解决 Cannot find name URL 错误

要解决“Cannot find name URL”错误,如果在浏览器中运行,请确保将 DOM 字符串添加到 tsconfig.json 文件中的 lib 数组,或者如果在 Node.js 中运行,请为node安装 typings。 我们可以将模块作为 import { URL } from ‘url’ 导入。

如果我们在浏览器中运行,请确保将 DOM 字符串添加到 tsconfig.json 中的 lib 数组中。

{
  "compilerOptions": {
    "lib": [
      "es2017",
      "DOM"
      ],
    // ... 其他设置
  }
}

在浏览器中运行的程序需要 DOM 类型定义。

如果我们在 Node.js 中运行,请确保安装 Node 的类型,方法是在项目的根目录中打开终端并运行以下命令。

$ npm i -D @types/node

如果我们的运行时是 Node.js,我们的错误应该得到解决。

如果不是,请确保 tsconfig.json 文件中的类型数组包含 node。

{
  "compilerOptions": {
    "types": [
      // ... 其他类型
      "node"
    ],
    // ... 其他设置
  },
}

我们应该能够通过以下方式导入和使用 URL 模块:

import { URL } from 'url';

const url = new URL('https://example.com');

console.log(url.host); // 👉️ "example.com"

这应该可以修复 “Cannot find name ‘URL'” 错误。

如果错误未解决,请尝试删除 node_modules 和 package-lock.json 文件,重新运行 npm install 并重新启动 IDE。

$ rm -rf node_modules package-lock.json

$ npm install

如果错误仍然存在,请确保重新启动 IDE。 VSCode 经常出现故障,有时重启可以解决问题。


总结

要解决“Cannot find name URL”错误,如果在浏览器中运行,请确保将 DOM 字符串添加到 tsconfig.json 文件中的 lib 数组,或者如果在 Node.js 中运行,请为节点安装类型。 我们可以将模块作为 import { URL } from ‘url’ 导入。