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

发布于 2025-01-11 10:06:10 字数 973 浏览 0 评论 0原文

我不习惯使用 Node js 和 TypeScript。

我尝试使用以下代码导入 Paytm 依赖项: npm 安装 paytmchecksum 或者 通过在 package.json 中添加以下代码

"dependencies": {
    ...
    "paytmchecksum": "^1.5.0"
    ...
}

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

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

或任何其他事情时。只是有错误。我相信也许是因为依赖关系是与 javascript 而不是 typescript 一起使用的。

我收到以下错误:

找不到模块“../node_modules/PaytmChecksum”的声明文件。 “d:/firebase-functions/functions/node_modules/PaytmChecksum/PaytmChecksum.js”隐式具有“any”类型。

有时我会得到这个,

找不到模块“paytmchecksum”的声明文件。 'D:/firebase-functions/functions/node_modules/paytmchecksum/PaytmChecksum.js' 隐式具有 'any' 类型。 尝试npm i --save-dev @types/paytmchecksum(如果存在)或添加包含declare module 'paytmchecksum';的新声明(.d.ts)文件p>

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

I am not used to using node js and typescript.

I tried importing Paytm dependency using the following code:
npm install paytmchecksum
or
by adding the below code in package.json

"dependencies": {
    ...
    "paytmchecksum": "^1.5.0"
    ...
}

Now, I am using firebase, typescript and node.js.
When I try importing, using

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

or any other thing. There are just errors. I believe maybe because the dependency is to be used with javascript rather than typescript.

I get the following error:

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.

sometimes I get this,

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';

What is the workaround for this problem?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

随波逐流 2025-01-18 10:06:10

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

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

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

declare module 'paytmchecksum';

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

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

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

You either need to create your own type declarations file or use @ts-ignore on the line before the import.

If you create your own type.d.ts file, you will need to make sure that it is included the project in your tsconfig.json project file.

The type file can be as simple as one line (./mytypes/paytmchecksum.d.ts):

declare module 'paytmchecksum';

This simply gets rid of the implied any and makes it explicit. You won't get any intellisense or type checking, but it will fix the error. You could go the extra mile and create a full type-definition file. If you, do you should add it to the @types repository so others can use it.

Then just add include to your tsconfig.json file:

{ "include": [
  "mytypes/paytmchecksum.d.ts"
  ]
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文