外部库为打字稿及的WebPack项目
我一直真的很卡住了一些周试图解决这个问题,我真的SUACH一个精疲力竭的男子...外部库为打字稿及的WebPack项目
到现在为止,并根据this guide:
npm install stripe --save
npm install @types/stripe --save-dev
和我在已将此添加webpack.common.js
:
new webpack.ProvidePlugin({
Stripe: 'stripe'
})
然后,进入我的打字稿COM Ponent(波纳恩特)我已经添加了这一点:
import * as Stripe from '@types/stripe';
但是我得到这个错误:
[ts] File '.../node_modules/@types/stripe/index.d.ts' is not a module.
我也试过:
import stripePackage from 'stripe';
但我得到相同的消息:
[ts] File '.../node_modules/@types/stripe/index.d.ts' is not a module.
延长
到现在为止,我已经卸载@types/stripe
和我已经添加上index.html
脚本CDN参考:
<script type="text/javascript" src="https://js.stripe.com/v2/"></script>
到另一边,我还添加了引用到我的打字稿:
import * as Stripe from 'stripe';
- 为了发展我的打字稿项目中,我使用VSCode。对我来说这是神奇的
VSCode
可用于对Stripe
对象提供方法。- VSCode如何知道
stripe
所在的位置? (请记住我只加了<script type=...>
标签到index.html
。这对我来说这样神奇的东西。 - 如何
webpack or typescript
创建<script>
标签引用之间的链接到我的打字稿代码?我不能它是如何提供给搞清楚.. 。
- VSCode如何知道
据GitHub的问题Feature requests: Typescript definitions #296的@types/stripe
类型定义是过时的。该stripe/index.d.ts说,他们是在预涂2.X,但Stripe on npm目前的版本是4.15.1
。
现在你已经到了活不下去的类型定义,与卸载@types/stripe
:
npm uninstall @types/stripe --save-dev
你总是要导入模块本身,而不是类型定义。因此,它是:
import * as Strip from 'stripe';
另外,webpack.ProvidePlugin
仅用于依赖的模块是全球范围内提供的WebPack上只会进口添加到尝试使用全球每个模块的传统模块。见Shimming。如果你只是在你自己的代码中使用它,你可以离开ProvidePlugin
。
注意:npm上的条纹仅适用于服务器端绑定,您无法将它们绑定到浏览器的应用程序中。
谢谢@Michael。我已经添加了一些相关的问题,试图用你的后处理方法来处理它。你能给我一些灯吗? _(我在浏览器中使用条纹)_ – Jordi
我并不真正了解任何有关条纹的知识。但是你可以在你的HTML中的'
如果你只做'import'stripe'' – PierreDuc
现在编译器告诉我什么都没有。但是,我应该如何将定义的类型用于“条纹”? – Jordi
我刚刚意识到,我可以直接使用'Stripe'。哪些是我无法使用'import *'作为'@ types/stripe''中的条纹或'import stripe'中的条纹的问题......? – Jordi