打字稿 |尝试导入依赖项时遇到错误
我不习惯使用 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.
Trynpm i --save-dev @types/paytmchecksum
if it exists or add a new declaration (.d.ts) file containingdeclare module 'paytmchecksum';
What is the workaround for this problem?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您需要创建自己的类型声明文件,或者在导入之前的行上使用 @ts-ignore。
如果您创建自己的 type.d.ts 文件,则需要确保它包含在 tsconfig.json 项目文件中。
类型文件可以简单到一行(./mytypes/paytmchecksum.d.ts):
这只是摆脱了隐含的 any 并使其显式化。您不会得到任何智能感知或类型检查,但它会修复错误。您可以加倍努力,创建一个完整的类型定义文件。如果您这样做,您应该将其添加到 @types 存储库中,以便其他人可以使用它。
然后只需将 include 添加到您的 tsconfig.json 文件中:
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):
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: