首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Webpack:无法解析模块(Stripe.js)

Webpack:无法解析模块(Stripe.js)
EN

Stack Overflow用户
提问于 2017-03-27 09:26:58
回答 1查看 3.7K关注 0票数 1

我在我的Stripe.js中添加了index.html脚本标记

代码语言:javascript
复制
<script type="text/javascript" src="https://js.stripe.com/v2/"></script>

我从webpack那里得到了这个错误信息:

模块未找到:错误:无法解析“条带”

如您所见,webpack无法解析'stripe'模块。我使用以下方式导入:

代码语言:javascript
复制
import 'stripe';

所以,在我的代码中,我使用了Stripe关键工作来访问Stripe

代码语言:javascript
复制
@Injectable()
export class SourceEffects {
  constructor() {
    Stripe.setPublishableKey("pk_test_Casd");
  }
}

一切似乎都正常(VSCODE没有警告我任何事情)。然而,当我试图运行webpack,我得到了正确的。

有什么想法吗?

编辑

因此,简而言之:

  1. 我在用@types/stripe
  2. 我正在使用import 'stripe'将其导入到打字本代码中。
  3. webpack给我买了一个can't resolve stripe module
EN

回答 1

Stack Overflow用户

发布于 2017-03-27 09:31:14

我不知道如何获得客户端Stripe.js的类型信息,但是如果您只是试图启动和运行,可以执行以下操作:

代码语言:javascript
复制
export class SourceEffects {
  constructor() {
    let Stripe: any = (window as <any>).Stripe;
    Stripe.setPublishableKey("pk_test_Casd");
  }
}

基本上,Stripe.js的脚本标记向window对象添加了一个Stripe对象,所以只需从那里获取该对象并关闭该API的类型检查。如果您想要为客户端Stripe.js输入信息,您必须四处查找(或者自己编写)。但是any的使用将关闭Stripe的类型检查。

有关完整示例,请参见这篇博客文章

PS。您仍然需要删除import 'stripe'行。

编辑:为什么您的解决方案不能工作,

- -我使用@/stripe--这完全是为了让类型记录编译器获得节点模块'stripe‘的类型定义。这并不用于运行您的应用程序,这就是为什么您应该只将它添加到您的devDependencies中。

-我使用导入‘stripe’将其导入到打字代码中。 import 'stripe'是webpack在node_modules中查找模块'stripe'的指导。您没有该模块-您没有使用节点库条。

- webpack正在给我一个无法解析的条形模块。,因为你的package.json中没有列出'stripe'作为你使用的库(和安装),webpack在试图加载它的时候找不到它。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43042626

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档