gpt4 book ai didi

javascript - 什么可能会导致单独加载时运行良好的组合 JavaScript 出现错误?

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

我编写了一个服务器端实用程序,旨在管理 javascript 页面依赖项。在开发过程中,它将 javascript 作为单独的文件提供服务(按照定义的顺序嵌入各个脚本标签),在生产模式下,它读取文件,缩小它们(Google Closure 仅在空白模式下),并通过单个脚本标签嵌入它们。

目前,我已关闭缩小功能以消除该变量...因此它所做的就是将文件连接在一起,并在每个文件之间添加换行符。

当我进入生产模式时,我在许多嵌入的文件中遇到了虚假问题。

那么,有人知道我将一组文件作为单个串联文件提供可能会导致什么问题吗?我很茫然。

对于那些想要更多细节的人:

我确定顺序是正确的。

对于这个示例来说,有问题的文件列表相当大,但包括 jquery、Angular、controllers、jquery dnd fileupload、controllers 等。

我在组合的这一行收到“未捕获类型错误:未定义不是函数”:

(function(b){b.support.touch="ontouchend" in document;if(!b.support.touch){return;}var c=b.ui.mouse.prototype,e=c._mouseInit,a;function d(g,h){if(g.originalEvent.touches.length>1){return;}g.preventDefault();var i=g.originalEvent.changedTouches[0],f=document.createEvent("MouseEvents");f.initMouseEvent(h,true,true,window,1,i.screenX,i.screenY,i.clientX,i.clientY,false,false,false,false,0,null);g.target.dispatchEvent(f);}c._touchStart=function(g){var f=this;if(a||!f._mouseCapture(g.originalEvent.changedTouches[0])){return;}a=true;f._touchMoved=false;d(g,"mouseover");d(g,"mousemove");d(g,"mousedown");};c._touchMove=function(f){if(!a){return;}this._touchMoved=true;d(f,"mousemove");};c._touchEnd=function(f){if(!a){return;}d(f,"mouseup");d(f,"mouseout");if(!this._touchMoved){d(f,"click");}a=false;};c._mouseInit=function(){var f=this;f.element.bind("touchstart",b.proxy(f,"_touchStart")).bind("touchmove",b.proxy(f,"_touchMove")).bind("touchend",b.proxy(f,"_touchEnd"));e.call(f);};})(jQuery);

它遵循一些生成全局变量的其他文件嵌入:

var FocusElementDirective = function() {
...
}
var DirectiveApplier = function(){
...
}
var AgeCalculator = function(){
...
}

另一个:当我在 jquery fileupload 的 Angular 插件中触发“add”事件时,它会给出 Uncaught TypeError: Object # has no method 'scope'。它指向的行位于 jquery fileupload Angular 模块内(版本 9.0.5 的第 89 行):

        add: function (e, data) {
if (e.isDefaultPrevented()) {
return false;
}
var scope = data.scope(), // this line

最佳答案

刚刚发生这种情况,我首先想到的是它可能与全局变量有关,Crockford 提示说这是 javascript 的弱点之一。

快速描述:

JavaScript global variables & self-invoking anonymous functions

就在我的头顶上。

关于javascript - 什么可能会导致单独加载时运行良好的组合 JavaScript 出现错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20408459/

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