首页 > 解决方案 > Typescript 中的 CanvasJs

问题描述

我正在尝试在我的打字稿文件中使用 canvasJS。我有声明文件 - index.d.ts。对应的 javascript 文件是https://canvasjs.com/assets/script/canvasjs.min.js。我在我的项目中使用 require.js。不幸的是,当我运行时,网页崩溃表明 require.js 找不到相应的 index.js。如果我创建一个 index.js 并复制https://canvasjs.com/assets/script/canvasjs.min.js的内容。一切都会好起来的。

我不想那样做。相反,我希望 index.d.ts 直接引用或查找 url。这该怎么做?

标签: typescripttypescript-typingscanvasjs

解决方案


那是因为index.d.ts只保存定义,它不会导入任何库。我建议使用npm install canvasjs安装包,然后使用添加类型:npm install --save @types/canvasjs。这会将 canvasjs 放入node_modules. 当您尝试使用导入它时

import CanvasJS from 'canvasjs';

typescript 将尝试使用这些规则解析库的导入,简而言之,它将递归地尝试node_modules从导入 canvasjs 的文件开始查找文件夹,如果找不到则将任务升级到其父文件夹。

另一种方法是将导入https://canvasjs.com/assets/script/canvasjs.min.js放在 html 文件的标题中(假设你有一个)或 js 代码中的某个位置,将类型添加到 npm 使用npm install --save @types/canvasjs并最后修改tsconfig.json

{
   "compilerOptions": {
       "types" : ["canvasjs"]
   }
}

推荐阅读