我正在开发一个大型Web应用程序,它有大约10K行的JavaScript代码(不考虑第三方库)。为了加快页面加载,已经决定自动将每个脚本文件连接成一个大型脚本,该脚本在第一次访问应用程序时在客户端上加载(和缓存)。这造成了一个问题,因为每个页面都有自己的脚本,其中包含(基本上)相同功能所需的所有JavaScript
现在,如果在其中一个脚本中发生错误,则很难分辨出该错误的来源,因为所有内容都被添加到添加到每个页面的相同脚本中,而不是在每个脚本中使用显式script
声明。以前的页面
是否有解决此问题的JavaScript模式?我正在考虑类似于AngularJS模块的东西,它可以绑定到Web应用程序页面中的某些容器。
但是,我想要一个简单的自定义解决方案,因为我们的时间很短,而且我们没有时间在我们的应用程序中实现框架。它应该只将某些脚本(模块)应用于它们各自的页面,它应该允许开发人员明确声明某些脚本所依赖的任何其他脚本(模块)。
此外,实现异常处理系统以通知用户(例如,在Firebug控制台中)从哪个模块发起异常(如果页面的模块依赖于其他模块)将是很好的。
是否有一种在JavaScript中解决此类问题的常用方法(不依赖于框架)?
答案 0 :(得分:0)
您的问题的可能解决方案可能是使用js源地图。许多concat / minify / uglify工具直接支持此功能,而大多数现代浏览器都能够解释它们。
您仍然会提供包含所有代码的单个JS文件(即使这很可能不是处理如此大量代码的最佳选择 - 主要取决于您的整体架构)
但是您的浏览器开发人员工具现在能够显示错误/控制台输出的原始文件名和行号等。
您可能很可能无法在生产中提供源地图文件。
进入js源地图的一个好处是this wiki。