ChartJS 图表js-adapter-date-fns的类型脚本类型

trnvg8h3  于 2022-11-07  发布在  Chart.js
关注(0)|答案(2)|浏览(159)

我的代码工作正常,但在我的导入语句下,我有两个点,如果我悬停在他们上面,它会显示错误

Could not find a declaration file for module 'chartjs-adapter-date-fns'. '/home/user/dev/website/client/node_modules/chartjs-adapter-date-fns/dist/chartjs-adapter-date-fns.js' implicitly has an 'any' type.
  Try `npm i --save-dev @types/chartjs-adapter-date-fns` if it exists or add a new declaration (.d.ts) file containing `declare module 'chartjs-adapter-date-fns';`ts(7016)

我试过yarn add -D @types/chartjs-adapter-date-fns,但似乎不存在。问题是我缺少打字稿类型吗?我如何才能摆脱这个错误?
我的导入语句以防万一:

import {
  CategoryScale,
  Chart as ChartJS,
  Filler,
  Legend,
  LinearScale,
  LineElement,
  PointElement,
  TimeScale,
  Title,
  Tooltip,
} from 'chart.js'
import 'chartjs-adapter-date-fns'
import { enGB } from 'date-fns/locale'
import { Line } from 'react-chartjs-2'
import { useMarketDataQuery } from '../generated/graphql'
import BaseCard from './BaseCard'
u91tlkcl

u91tlkcl1#

您需要为此包指定自己的类型定义。
有三种方式可以输入程式库:

  • 捆绑类型
  • 明确类型化/ @类型
  • 您自己的定义

由于chartjs-adapter-date-fns包没有捆绑类型,并且在DefinitelyTyped库中也没有@types,所以您唯一的选择就是为这个包提供您自己的类型定义。
最简单的方法是在项目的.d.ts文件中为它添加一个空声明。

declare module "chartjs-adapter-date-fns";

它将使有关此模块的警告静音

zysjyyx4

zysjyyx42#

日期适配器不导出任何功能,因此您可以在导入文件上方添加一个// @ts-ignore,或者创建自己的声明文件,其中包含一个为日期适配器提供类型的空模块。
配置本身的所有类型都已经由chart.js本身提供了。

相关问题