gpt4 book ai didi

javascript - 在 Angular 执行 JavaScript 缩小后,如何保留特定的变量名称?

转载 作者:行者123 更新时间:2023-12-01 02:25:36 24 4
gpt4 key购买 nike

我希望在代码缩小后保留一个变量名。不确定这是否重要,但它也必须能够在 TypeScript 被编译为缩小版 JavaScript 的过程中幸存下来。

详细信息:

  • 我使用 Angular CLI,当我使用控制台命令 ng build --prod 时,我的所有 TypeScript 都会转换为单个缩小的 JavaScript 文件。
  • 我正在使用Mouseflow并想要实现"Combining Several Pages in One Heatmap"如 Mouseflow 知识库页面中所述。
  • 当我按照描述添加变量并进行生产构建时,我的变量会获得一个新名称,因此 Mouseflow 无法按名称引用父作用域中的变量。

以下是来自 mouseflow 知识库的相关信息:

If you add the mouseflowPath variable and set it to var mouseflowPath = '/shop/products/productdetail;' on these pages, Mouseflow will treat all of these pages as one unique page and only generate one heatmap under the URL '/shop/products/productdetail'.

<script type="text/javascript">
window._mfq = window._mfq || [];

// *** THIS NEEDS TO STAY ***
var mouseflowPath = '/shop/products/productdetail';

(function() {
var mf = document.createElement("script"); mf.type = "text/javascript"; mf.async = true;
mf.src = "//cdn.mouseflow.com/projects/your-website-id.js";
document.getElementsByTagName("head")[0].appendChild(mf);
})();
</script>

想到的唯一明确的解决方案是通过缩小强制 mouseflowPath 变量保留其原始名称。

最佳答案

而不是这个:

var mouseflowPath = '/your/new/path';

使用这个:

window['mouseflowPath'] = '/your/new/path';
<小时/>

两个结果完全相同。使用上面的属性访问器语法将允许保留字符串和全局引用。

关于javascript - 在 Angular 执行 JavaScript 缩小后,如何保留特定的变量名称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48837317/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com