Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将JavaScript脚本绑定到各自的网页_Javascript_Angularjs_Exception Handling_Dependency Injection_Module - Fatal编程技术网

将JavaScript脚本绑定到各自的网页

将JavaScript脚本绑定到各自的网页,javascript,angularjs,exception-handling,dependency-injection,module,Javascript,Angularjs,Exception Handling,Dependency Injection,Module,我正在开发一个大型web应用程序,它有大约10000行JavaScript代码(不考虑第三方库)。为了加快页面加载速度,已决定自动将每个脚本文件连接到一个大型脚本中,该脚本在第一次访问应用程序时在客户端上加载(并缓存)。这是一个问题,因为每个页面都有自己的脚本,其中包含(本质上)相同函数所需的所有JavaScript。 现在,如果其中一个脚本中出现错误,很难判断该错误来自何处,因为所有内容都被卷到添加到每个页面的同一个脚本中,而不是像以前那样在每个页面中使用显式script声明。 有解决这个问题

我正在开发一个大型web应用程序,它有大约10000行JavaScript代码(不考虑第三方库)。为了加快页面加载速度,已决定自动将每个脚本文件连接到一个大型脚本中,该脚本在第一次访问应用程序时在客户端上加载(并缓存)。这是一个问题,因为每个页面都有自己的脚本,其中包含(本质上)相同函数所需的所有JavaScript。
现在,如果其中一个脚本中出现错误,很难判断该错误来自何处,因为所有内容都被卷到添加到每个页面的同一个脚本中,而不是像以前那样在每个页面中使用显式
script
声明。
有解决这个问题的JavaScript模式吗?我正在考虑类似AngularJS模块的东西,可以绑定到web应用程序页面中的特定容器。
然而,我想要一个简单的、定制的解决方案,因为我们的时间很短,而且我们没有时间在我们的应用程序中实现一个框架。它应该只将某些脚本(模块)应用于它们各自的页面,并且应该允许开发人员明确声明某些脚本所依赖的任何其他脚本(模块)。
此外,实现一个异常处理系统来通知用户(例如在Firebug控制台中)异常是从哪个模块产生的(如果页面的模块依赖于其他模块),这将是非常好的。
在JavaScript中是否有解决此类问题的通用方法(不依赖于框架)?

解决问题的可能方法是使用js源代码映射。许多concat/minify/uglify工具直接支持此功能,而大多数现代浏览器都能够解释它们

您仍然可以提供一个包含所有代码的JS文件(即使这很可能不是处理如此大量代码的最佳方法,这在很大程度上取决于您的总体架构)

但是浏览器开发工具现在可以向您显示错误/控制台输出/etc的原始文件名和行号

您很可能不会在生产环境中提供源映射文件


进入js源代码映射的一个好方法是。

对于开发,您可以捆绑脚本,但不能缩小它们。当您遇到错误时,您将能够看到实际的代码。对于生产使用,最好不要有任何异常:)是的,我们就是这样做的,但是如果出现问题,仍然很难跟踪其中一个脚本中的错误(有10000行代码)。如果开发人员在与某个页面对应的脚本中出错,那么他可能会在完全不同的地方出错,因为每个页面上都加载了所有内容