从 webstorm 执行打字稿时找不到模块“node:url”

Dev*_*er0 9 node.js typescript

我写了这个小型打字稿 hello world 示例

import axios from 'axios';
import { wrapper } from 'axios-cookiejar-support';
import { CookieJar } from 'tough-cookie';

const jar = new CookieJar();
const client = wrapper(axios.create({ jar }));

client.get('https://example.com');
Run Code Online (Sandbox Code Playgroud)

当我从 webstorm 运行这个时,我收到以下错误

/usr/bin/node /usr/local/lib/node_modules/ts-node/dist/bin.js /home/nayana/WebstormProjects/hello-world/hello.ts
Error: Cannot find module 'node:url'
Run Code Online (Sandbox Code Playgroud)

有人知道如何解决这个问题吗?我已经尝试过了npm install node:url and url

我已将错误隔离到这一行

const client = wrapper(axios.create({ jar }));
Run Code Online (Sandbox Code Playgroud)

小智 9

该问题可能与节点版本有关。

axios-cookiejar-support 需要特定的节点版本 ("node": ">=14.18.0 <15.0.0 || >=16.0.0")。

检查node --versionpackage-lock.json

样本:

    "node_modules/axios-cookiejar-support": {
          "version": "4.0.3",
          "resolved": "https://registry.npmjs.org/axios-cookiejar-support/-/axios-cookiejar-support-4.0.3.tgz",
          "integrity": "sha512-fMQc0mPR1CikWZEwVC6Av+sD4cJuV2eo06HFA+DfhY54uRcO43ILGxaq7YAMTiM0V0SdJCV4NhE1bOsQYlfSkg==",
          "dependencies": {
            "http-cookie-agent": "^4.0.2"
          },
          "engines": {
            "node": ">=14.18.0 <15.0.0 || >=16.0.0"
          },
          "peerDependencies": {
            "axios": ">=0.20.0",
            "tough-cookie": ">=4.0.0"
          }
        },
Run Code Online (Sandbox Code Playgroud)


Chr*_*ris 5

您可能需要安装更高版本的node.js。

我正在运行14.17.6,并且在16.17.0使用 nvm 安装后就可以运行该项目了。

如果您安装了 nvm,则可以安装特定版本的节点,例如

nvm install 16.17.0
Run Code Online (Sandbox Code Playgroud)


小智 3

确保 tsconfig.json 文件中的 types 数组包含“node”

{
  "compilerOptions": {
    "types": [
      // ... your other types
      "node"
    ],
    // ... your other settings
  },
}
Run Code Online (Sandbox Code Playgroud)