Javascript public 命名空间函数在部署时未定义
Javascript public namespace functions not defined when deployed
我有下面的脚本,我正在分配给 public Javascript 命名空间。它们都在本地工作正常,我可以调用 TEST.loading(true)
并且所有行为都符合预期,但是当我将它们部署到我的远程服务器时,我在 Chrome/Firefox 控制台中收到以下错误; 未捕获类型错误:TEST.loading 不是函数
我不明白为什么它可以在本地工作而不是远程工作。我认为这不会有任何区别,但我正在使用 MVC 包来部署脚本并且我已经检查了 Chrome 的网络输出并且脚本正在正常加载并且我可以看到里面的代码.. ..有什么建议吗?
var TEST = TEST ||
{
dtFormat: "DD MMMM YYYY HH:mm",
loading: function loading(showLoading) {
if (showLoading) {
if (Modernizr.cssanimations)
$("#loadingAnimation").show();
else
$("#loadingStatic").show();
$("#loadingContainer").show();
}
else {
if (Modernizr.cssanimations)
$("#loadingAnimation").hide();
else
$("#loadingStatic").hide();
$("#loadingContainer").hide();
}
}
};
看起来 TEST
在该代码运行时已经定义了真值,使该代码成为空操作。
如果您希望始终添加您的属性,无论它是否已经存在,这是通常的模式:
var TEST = (function(t) {
{
t.dtFormat = "DD MMMM YYYY HH:mm";
t.loading = function loading(showLoading) {
if (showLoading) {
if (Modernizr.cssanimations)
$("#loadingAnimation").show();
else
$("#loadingStatic").show();
$("#loadingContainer").show();
}
else {
if (Modernizr.cssanimations)
$("#loadingAnimation").hide();
else
$("#loadingStatic").hide();
$("#loadingContainer").hide();
}
};
return t;
})(TEST || {});
这还有一个好处,就是可以为您提供方便的私有函数范围。
我有下面的脚本,我正在分配给 public Javascript 命名空间。它们都在本地工作正常,我可以调用 TEST.loading(true)
并且所有行为都符合预期,但是当我将它们部署到我的远程服务器时,我在 Chrome/Firefox 控制台中收到以下错误; 未捕获类型错误:TEST.loading 不是函数
我不明白为什么它可以在本地工作而不是远程工作。我认为这不会有任何区别,但我正在使用 MVC 包来部署脚本并且我已经检查了 Chrome 的网络输出并且脚本正在正常加载并且我可以看到里面的代码.. ..有什么建议吗?
var TEST = TEST ||
{
dtFormat: "DD MMMM YYYY HH:mm",
loading: function loading(showLoading) {
if (showLoading) {
if (Modernizr.cssanimations)
$("#loadingAnimation").show();
else
$("#loadingStatic").show();
$("#loadingContainer").show();
}
else {
if (Modernizr.cssanimations)
$("#loadingAnimation").hide();
else
$("#loadingStatic").hide();
$("#loadingContainer").hide();
}
}
};
看起来 TEST
在该代码运行时已经定义了真值,使该代码成为空操作。
如果您希望始终添加您的属性,无论它是否已经存在,这是通常的模式:
var TEST = (function(t) {
{
t.dtFormat = "DD MMMM YYYY HH:mm";
t.loading = function loading(showLoading) {
if (showLoading) {
if (Modernizr.cssanimations)
$("#loadingAnimation").show();
else
$("#loadingStatic").show();
$("#loadingContainer").show();
}
else {
if (Modernizr.cssanimations)
$("#loadingAnimation").hide();
else
$("#loadingStatic").hide();
$("#loadingContainer").hide();
}
};
return t;
})(TEST || {});
这还有一个好处,就是可以为您提供方便的私有函数范围。