首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法将Vonage客户端SDK导入我的preact (vite)项目

无法将Vonage客户端SDK导入我的preact (vite)项目
EN

Stack Overflow用户
提问于 2022-08-18 09:59:22
回答 1查看 53关注 0票数 1

我有一个使用预演维特项目。我想使用vonage的nexmo客户端SDK,但是当我使用ES方法导入时,它会破坏我的项目。

代码语言:javascript
复制
// app.tsx
import NexmoClient from 'nexmo-client';

我在控制台中得到以下错误。

代码语言:javascript
复制
index.js:19 Uncaught ReferenceError: global is not defined
    at index.js:19:19
    at index.js:12:22
    at node_modules/nexmo-client/dist/index.js (index.js:16:1)
    at __require (chunk-J43GMYXM.js?v=f3505250:11:50)
    at dep:nexmo-client:1:16

但是,如果我通过脚本标记导入它,它就能正常工作。

代码语言:javascript
复制
// index.html
<script src="node_modules/nexmo-client/dist/nexmoClient.js"></script>

// app.tsx
const NexmoClient = window.NexmoClient;
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-08-18 10:16:29

好的,这里有两个问题。

首先,NexmoClient尝试使用浏览器上不可用的global

其次,NexmoClient依赖于socket.io-client,出于某种原因,Vite导入了socket.io-client的Node版本,该版本再次尝试使用浏览器上不可用的模块,即“子进程”。

要解决这两个问题,您可以向Vite提供以下配置,这应该确保生成的生成与兄弟兼容。

代码语言:javascript
复制
// vite.config.js or vite.config.ts

import { defineConfig } from 'vite'
import preact from '@preact/preset-vite'

export default defineConfig({
  plugins: [preact()],
  define: {
    global: {},
  },
  resolve: {
    alias: {
      "xmlhttprequest-ssl": "./node_modules/engine.io-client/lib/xmlhttprequest.js"
    }
  }
})
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73401058

复制
相关文章

相似问题

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