sách gpt4 ai đã đi

javascript - 进行 gatsby 构建时未定义窗口

In lại 作者:行者123 更新时间:2023-12-04 13:43:25 27 4
mua khóa gpt4 Nike

我正在尝试将振幅 js 与 React 和 Gatsby 集成。做 gatsby developer 时一切看起来都不错,因为它发生在浏览器中,但是当我尝试 gatsby build 时,我收到以下错误,因为 Gatsby build 发生在我们没有 window 对象的服务器上:

WebpackError: window is not defined



振幅.js:2428
~/amplitude-js/amplitude.js:2428:2

这是我的振幅模块:
import amplitude from 'amplitude-js';

amplitude.getInstance().init('API-KEY', null, {
// optional configuration options
saveEvents: true,
includeUtm: true,
includeReferrer: true,
});

Gatsby 构建不起作用:未定义窗口。

如果我不在项目中的任何地方使用此部分,则错误指向此部分:
if (windowLocalStorageAvailable()) {
localStorage = window.localStorage;
} else if (window.globalStorage) { // <- here

// Firefox 2-3 use globalStorage
// See https://developer.mozilla.org/en/dom/storage#globalStorage
thử {

1 Câu trả lời

发生此错误是因为 Amplitude JS SDK 期望位于浏览器窗口对象内,并且可以访问窗口上下文以从中收集 IP 地址、操作系统、浏览器、来自 cookie 的 device_id 等属性。

您的应用程序是否可以从任何类型的后端发送事件?

要将数据发送到 Amplitude,您不需要使用 Amplitude SDK,您也有 REST 端点。
https://help.amplitude.com/hc/en-us/articles/360032842391-HTTP-API-V2

HTTP API 也有 3rd 方维护的 nodejs 包装器 https://github.com/crookedneighbor/amplitude

关于javascript - 进行 gatsby 构建时未定义窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53406367/

27 4 0
行者123
Hồ sơ cá nhân

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá Didi Taxi miễn phí
Mã giảm giá Didi Taxi
Giấy chứng nhận ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com