外部库为打字稿及的WebPack项目

外部库为打字稿及的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'; 
  1. 为了发展我的打字稿项目中,我使用VSCode。对我来说这是神奇的VSCode可用于对Stripe对象提供方法。
    • VSCode如何知道stripe所在的位置? (请记住我只加了<script type=...>标签到index.html。这对我来说这样神奇的东西。
    • 如何webpack or typescript创建<script>标签引用之间的链接到我的打字稿代码?我不能它是如何提供给搞清楚.. 。
+0

如果你只做'import'stripe'' – PierreDuc

+0

现在编译器告诉我什么都没有。但是,我应该如何将定义的类型用于“条纹”? – Jordi

+0

我刚刚意识到,我可以直接使用'Stripe'。哪些是我无法使用'import *'作为'@ types/stripe''中的条纹或'import stripe'中的条纹的问题......? – Jordi

据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上的条纹仅适用于服务器端绑定,您无法将它们绑定到浏览器的应用程序中。

+0

谢谢@Michael。我已经添加了一些相关的问题,试图用你的后处理方法来处理它。你能给我一些灯吗? _(我在浏览器中使用条纹)_ – Jordi

+0

我并不真正了解任何有关条纹的知识。但是你可以在你的HTML中的'