打字稿 |尝试导入依赖项时遇到错误

TypeScript | Facing Error while trying to import a dependency

我不习惯使用node js和typescript。

我尝试使用以下代码导入 Paytm 依赖项: npm install paytmchecksum 要么 通过在 package.json

中添加以下代码
"dependencies": {
    ...
    "paytmchecksum": "^1.5.0"
    ...
}

现在,我正在使用 firebase、typescript 和 node.js。 当我尝试导入时,使用

import PaytmChecksum from "../node_modules/PaytmChecksum";
import PaytmChecksum from "paytmchecksum";

或任何其他东西。只有错误。我相信可能是因为该依赖项将与 javascript 一起使用,而不是与打字稿一起使用。

我收到以下错误:

Could not find a declaration file for module '../node_modules/PaytmChecksum'. 'd:/firebase-functions/functions/node_modules/PaytmChecksum/PaytmChecksum.js' implicitly has an 'any' type.

有时我会这样,

Could not find a declaration file for module 'paytmchecksum'. 'D:/firebase-functions/functions/node_modules/paytmchecksum/PaytmChecksum.js' implicitly has an 'any' type. Try npm i --save-dev @types/paytmchecksum if it exists or add a new declaration (.d.ts) file containing declare module 'paytmchecksum';

这个问题的解决方法是什么?

您需要创建自己的类型声明文件或在导入前的行中使用@ts-ignore。

如果您创建自己的 type.d.ts 文件,您需要确保它包含在您的 tsconfig.json 项目文件中。

类型文件可以简单到一行(./mytypes/paytmchecksum.d.ts):

declare module 'paytmchecksum';

这只是去掉了隐含的 any 并使其显式化。您不会得到任何智能感知或类型检查,但它会修复错误。您可以加倍努力并创建一个完整的 type-definition 文件。如果是,是否应该将它添加到@types 存储库以便其他人可以使用它。

然后将 include 添加到您的 tsconfig.json 文件中:

{ "include": [
  "mytypes/paytmchecksum.d.ts"
  ]
}