2

我正在尝试在我的反应项目中添加堆分析脚本,但它一直抛出这个错误“'heap' is not defined”。由于这个错误,我无法编译项目。

据我所知,堆希望他们的代码在<head></head>标签中运行。但我不知道如何让代码<head></head>在反应中运行。其余脚本(如 GTM 和 FB 像素代码)运行良好。

任何帮助表示赞赏。

4

4 回答 4

2

只需取消它:

window.heap.identify('random@myemail.com', 'email');
于 2018-07-11T03:23:46.657 回答
2

出于某种原因,这在他们的网站上并不清楚,但是如果您在此处查看他们的文档,那么您会发现您只需要调用window.heap.track()not just heap.track()

此外,您还需要他们在元素index.html底部的文件中提到的脚本,<head>也就是之前</head>

于 2020-12-24T00:13:33.257 回答
1

您应该能够在 head 标记下包含堆脚本,如下所示(设置正确的脚本路径代替 yourHeapScriptPath

<script type="text/javascript" src="yourHeapScriptPath.js"></script>
于 2018-01-08T12:06:14.763 回答
0

如果你使用 webpack,你有两个选择:

A)将您的脚本放在 index.html 中,并在您的 React-Scripts 中询问是否定义了变量 B)将脚本放在您的 webpack 条目中,如下所示:

const config = {
  entry: {
    app: './src/app.js',
    vendors: './src/vendors.js'
  }
};

有关更多信息,请参阅webpack 条目

于 2018-01-08T12:19:15.727 回答