Javascript 如何连接JS文件,同时将错误隔离到每个文件? 问题

Javascript 如何连接JS文件,同时将错误隔离到每个文件? 问题,javascript,browser,Javascript,Browser,我在运行时加载来自不同第三方开发人员的脚本(这个应用程序不是由我托管的,所以一旦它运行,我就失去了对代码的控制),比如a.js、b.js、c.js 我想减少HTTP请求,所以我将它们作为一个大的连接文件abc.js提供 我希望避免任何一个文件中的错误影响任何其他文件的执行。我怎样才能做到这一点 非初学者 试一试 Try-catch对语法错误没有帮助。语法错误将导致整个文件失败。 它还会导致从Firefox的全局范围中删除的FunctionDeclarations出现问题 取消连接 我需要减少

我在运行时加载来自不同第三方开发人员的脚本(这个应用程序不是由我托管的,所以一旦它运行,我就失去了对代码的控制),比如a.js、b.js、c.js

我想减少HTTP请求,所以我将它们作为一个大的连接文件abc.js提供

我希望避免任何一个文件中的错误影响任何其他文件的执行。我怎样才能做到这一点

非初学者
  • 试一试

    Try-catch对语法错误没有帮助。语法错误将导致整个文件失败。 它还会导致从Firefox的全局范围中删除的FunctionDeclarations出现问题

  • 取消连接

    我需要减少请求。当文件沿导线向下传输时,必须连接这些文件

偏好 维护脚本的同步加载

可能的解决方案
  • 将连接的文件作为文本加载,然后分别计算每个脚本。GMail Mobile使用了一种技术:
对我来说,任何实现这一点的预先存在/预先打包的库都是最好的解决方案


编辑:我的“应用程序”是现场安装的,在运行时可以使用第三方的任意JS进行插入。因此,我从未在生产之外测试过所有的JS。

你做不到。如果是一个大的连接文件,则语法错误出现在一个大文件中。如果不连接文件,则会收到多个单独文件的请求,但至少可以将错误精确定位到特定文件。这是没有办法的

也就是说,除非文件被缩小,否则任何像样的浏览器,如Chrome、Safari、Firefox,都应该向您显示开发人员工具中的错误所在。

您不能真正做到这一点(除非您建议将其加载为文本文件,然后对其进行评估,但老实说,这太可怕了)


您可能应该做的是在开发过程中将文件分开,一旦它们经过测试,您就可以在生产环境中将它们连接起来。

为更好的服务器/连接支付更多的费用,或者在S3上托管您的应用程序;无论您在做什么,成本都可能比您的时间便宜。

您是否尝试过阻止评论?“阻止评论”?JSLint可以消除语法错误,这是很好的。我不确定这个问题为什么缺乏研究,或者不清楚或者没有用处。如果你否决投票,请发表评论,我会澄清。是的,你可以在脚本的大部分内容上屏蔽评论,看看哪些错误被消除了(如果有的话)。我没有说这不可怕。:)仅在prod中连接是可以的,但我没有包含所有生产代码的开发环境(请参阅我的编辑)。请参阅我的新编辑。不幸的是,这与我的处境无关。