如何写一个ts的声明文件?

假如我项目中用了一个第三方的库,banana-js

import { eatBanana } from 'banana-js';

然后提示我没有引入banana-js的声明文件,npm上也没有@types/banana-js

我如何在自己的项目中声明一个文件,使得不报提示错误。

  • 声明文件位置
  • 声明文件名称
  • 声明文件内容
阅读 4.1k
4 个回答

先创建文件,路径为./typings/banana-js.d.ts

然后声明一个模块

declare module 'banana-js' {
  export function eatBanana(): void;
}

最后在tsconfig.json中引入

{
  "compilerOptions": {
    "typeRoots": ["./node_modules/@types/", "./typings/"]
  }
}

如果只是为了让它不报错,完全可以像commonjs那样引入,因为ts是可以直接调用js的,但是你得自己保证调用不出错,因为ts没办法对js类型进行静态检测。

const banana = require('banana-js');

banana.eatBanana(arg1, arg2, ..., argn);
// aaa.ts
const bana = require("bana-js")
export {
    eatbana =bana.eatbana,
}

然后引用这个aaa.ts就行了。
手机打的,你能看懂就行

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题