chartjs-adapter-date-fns 的打字稿类型

Typescript types for chartjs-adapter-date-fns

我的代码有效,但在我的导入语句下我有 2 个点,如果我将鼠标悬停在它们上面,它会显示错误

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'

日期适配器不导出任何功能,因此您只需在导入上方添加一个 // @ts-ignore 或创建您自己的声明文件,其中包含一个为日期适配器提供类型的空模块。

配置本身的所有类型都已由 chart.js 本身提供。

您需要为此包指定您自己的类型定义。

three ways how the library can be typed:

  • 捆绑类型
  • DefinitelyTyped / @types
  • 你自己的定义

由于类型未与 chartjs-adapter-date-fns 包捆绑在一起,并且 DefinitelyTyped 存储库中没有 @types,您唯一的选择是提供 your own type definition for this package.

最简单的方法是在项目的 .d.ts 文件中为其添加一个空声明,其中包含内容。

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

它将消除有关此模块的警告