我正在使用 Svelte 3.44 和 SvelteKit 编写一个应用程序。我想使用 Userbase ( https://userbase.com/ ) 进行用户身份验证和数据存储。
我有一个组件Login.svelte,我想在其中调用 Userbase API 进行注册和登录。相关代码是:
<script lang="ts">
import userbase from 'userbase-js';
/* Irrelevant code here */
</script>
Run Code Online (Sandbox Code Playgroud)
当我尝试使用 运行此命令时vite dev,我看到的不是我的登录组件:
500
Module "buffer" has been externalized for browser compatibility. Cannot access "buffer.Buffer" in client code.
get@http://localhost:5173/node_modules/.vite/deps/userbase-js.js?v=b25ad0c3:151:17
node_modules/safe-buffer/index.js@http://localhost:5173/node_modules/.vite/deps/userbase-js.js?v=b25ad0c3:162:19
__require@http://localhost:5173/node_modules/.vite/deps/chunk-TWLJ45QX.js?v=b25ad0c3:8:50
node_modules/randombytes/browser.js@http://localhost:5173/node_modules/.vite/deps/userbase-js.js?v=b25ad0c3:225:19
__require@http://localhost:5173/node_modules/.vite/deps/chunk-TWLJ45QX.js?v=b25ad0c3:8:50
node_modules/diffie-hellman/lib/generatePrime.js@http://localhost:5173/node_modules/.vite/deps/userbase-js.js?v=b25ad0c3:3272:23
__require@http://localhost:5173/node_modules/.vite/deps/chunk-TWLJ45QX.js?v=b25ad0c3:8:50
node_modules/diffie-hellman/browser.js@http://localhost:5173/node_modules/.vite/deps/userbase-js.js?v=b25ad0c3:3554:25
__require@http://localhost:5173/node_modules/.vite/deps/chunk-TWLJ45QX.js?v=b25ad0c3:8:50
@http://localhost:5173/node_modules/.vite/deps/userbase-js.js?v=b25ad0c3:6166:37
Run Code Online (Sandbox Code Playgroud)
浏览解决方案我发现两个但没有一个有效:
使用 OnMount() 的动态导入似乎可行,但由于 TypeScript 类型检查,我无法在 OnMount() 之外的其他任何地方使用导入的模块。
从 index.html 添加 Userbase SDK 并调用它window.userbase不起作用,因为我得到了ReferenceError: window is not defined …