当我运行tsc index.ts来编译导入了AXIOS的打字脚本时,我得到了一个错误. 我已经在全局安装了打字脚本. 创建了一个干净的目录,我所做的是运行npm init -y,NPM安装axios,然后在其中创建我的index.ts a导入axios:

import axios from "axios";

const url = 'https://jsonplaceholder.typicode.com/todos/1';

axios.get(url).then(response => {
    console.log(response.data);
});

When I run tsc index.ts to compile I get the following error: enter image description here Also installed the tsconfig.json with comand tsc --init but didn't change anything. Current configuration the default:

{
  "compilerOptions": {
    "target": "es2016",
    "module": "commonjs",
    "esModuleInterop": true,
    "forceConsistentCasingInFileNames": true,
    "strict": true,
    "skipLibCheck": true
  }
}

如果我运行ts-node index.ts,index.ts将被编译,并且没有错误. 如何在运行tsc index.ts进行编译时修复此错误?

node version v18.17.1
npm version 10.4.0
typescript version 5.3.3
axios 1.6.7

谢谢大家!

推荐答案

您需要将TypeScrip node 类型安装为开发人员依赖项.

npm install --save-dev @types/node

使用文字定义文件

要编写使用AXIOS等外部库的代码,您需要提供这些库的类型信息.TypeScrip使用类型定义文件(扩展名为.d.ts)来理解这些库提供的对象和函数的形状和类型.

安装npm install axios时会自动添加axios.d.ts

但AXIOS也需要安装@types/node. 命令`npm inatll--save-dev@type/node安装Node.js运行时的类型定义.

原因是AXIOS依赖于某些100

Js和TypeScrip需要理解它们才能提供类型判断.

安装@Types/node可以确保TypeScrip能够访问特定于Node.js的功能所需的类型定义.

Result

enter image description here

Javascript相关问答推荐

如何将拖放功能添加到我已自定义为图像的文件输入HTML标签中?

vanillajs-datepicker未设置输入值,日期单击时未触发更改事件

我试图实现用户验证的reduxstore 和操作中出了什么问题?

单击更新页面的按钮后,页面刷新;测试/断言超时,有两个标题,但没有一个标题

if/else JavaScript中的条件行为

如何在Vue 3中创建自定义 Select 组件,并将选项作为HTML而不是props 传递?

Javascript json定制

Ember.js 5.4更新会话存储时如何更新组件变量

当id匹配时对属性值求和并使用JavaScript返回结果

JS:XML insertBefore插入元素

JQuery Click事件不适用于动态创建的按钮

在Java中寻找三次Bezier曲线上的点及其Angular

如何 for each 输入动态设置输入变更值

在SuperBase JS客户端中寻址JSON数据

Jexl to LowerCase()和Replace()

自动滚动功能在当前图像左侧显示上一张图像的一部分

是否设置以JavaScript为背景的画布元素?

未捕获的不变违规:即使在使用DndProvider之后也应使用拖放上下文

bootstrap S JS赢得了REACT中的函数/加载

如何设置时间选取器的起始值,仅当它获得焦点时?