【问题标题】:js global variable removed when minifiedjs 全局变量在缩小时被删除
【发布时间】:2015-03-22 22:59:02
【问题描述】:

我有一个包含两个全局变量的 javascript 文件。问题是当我缩小文件时,变量被删除并且我在控制台中得到错误。

如何缩小文件并让它保留我的全局变量。

/** global variables **/
window.$url = 0;
window.$searchText = 0;

【问题讨论】:

  • 使用更好的压缩工具?
  • 显示一点相关代码..
  • 你使用的是哪个缩小器?这听起来像是缩小器中的错误
  • 我正在使用github.com/gruntjs/grunt-contrib-uglify,但我尝试过的每个缩小版都有这个问题。
  • 您能告诉我们一个MVCE,我们可以用它来重现问题吗?

标签: javascript minify


【解决方案1】:

JavaScript 中的所有全局变量实际上都是 window 对象的属性。

而不是像这样设置全局变量:

var global_name = 2;

你可以设置为:

window.global_name = 2; /* no "var" */

然后以通常的方式检索它。

更好的是,namespace your global variables inside another object 以防止其他脚本意外绊倒它们:

window.namespace_name.global_name = 2;
/* make all your global vars properties of window.namespace_name */

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-14
    • 1970-01-01
    • 1970-01-01
    • 2023-03-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多