Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/373.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_Php_Asp.net_Jsp_Software Design - Fatal编程技术网

在构建网站时,我应该在特定的用户控件或母版页中引用javascript库吗?

在构建网站时,我应该在特定的用户控件或母版页中引用javascript库吗?,javascript,php,asp.net,jsp,software-design,Javascript,Php,Asp.net,Jsp,Software Design,以下哪种情况在客户端(JavaScript)库引用和加载方面最强 请注意,我假设web解决方案设计得很好,因此组件封装得很好 另外,我要说的母版页可以是用户控件,也可以是任何包含所有库引用并在站点加载时加载的控件,而不考虑站点当前的内容 1-在母版页中包含所有自定义(如第三方)库的参考(link href)。 有争议的是,这很容易维护,因为所有引用都在一个地方 还有一点值得商榷,即执行库升级很容易,因此您不需要在引用库的解决方案中查找以更新其引用 2-在特定用户控件中包含对库的引用 这不应

以下哪种情况在客户端(JavaScript)库引用和加载方面最强

请注意,我假设web解决方案设计得很好,因此组件封装得很好

另外,我要说的母版页可以是用户控件,也可以是任何包含所有库引用并在站点加载时加载的控件,而不考虑站点当前的内容

1-在母版页中包含所有自定义(如第三方)库的参考(link href)。

  • 有争议的是,这很容易维护,因为所有引用都在一个地方

  • 还有一点值得商榷,即执行库升级很容易,因此您不需要在引用库的解决方案中查找以更新其引用

2-在特定用户控件中包含对库的引用

  • 这不应该提高性能,因为网站只在需要时加载库。 e、 g.可以参考JavaScript库,该库在用户控件中处理映射,而不是在当前视图上没有映射时加载映射库

  • 这很好地封装了组件。例如,试图修复map组件中的错误的开发人员在打开map用户控件时将看到它引用的所有库。这样就不再需要浏览母版页并查看使用了哪些库


    • 我认为这不是正确的思考方式

      不加载所有库的唯一原因是性能。您给出的调试原因太小,无法考虑。

      您可以通过许多不同的方式提高性能。到目前为止,最简单、最直接和可实现的方法是将所有JavaScript缩小到一个文件中。此外,您还可以使用诸如Google的Closure编译器或Yahoo YUI Compressor之类的编译器,以获得更小的文件大小和更快的执行速度

      如果此时您仍然存在性能问题(这可以归因于网络延迟),那么可以考虑延迟加载库


      这并不意味着你应该放弃依赖注入的指导方针。任何好的框架都会为依赖注入提供一种机制。这将使以后切换到解决方案2变得相当简单。

      我认为这不是正确的思考方式

      不加载所有库的唯一原因是性能。您给出的调试原因太小,无法考虑。

      您可以通过许多不同的方式提高性能。到目前为止,最简单、最直接和可实现的方法是将所有JavaScript缩小到一个文件中。此外,您还可以使用诸如Google的Closure编译器或Yahoo YUI Compressor之类的编译器,以获得更小的文件大小和更快的执行速度

      如果此时您仍然存在性能问题(这可以归因于网络延迟),那么可以考虑延迟加载库


      这并不意味着你应该放弃依赖注入的指导方针。任何好的框架都会为依赖注入提供一种机制。这将使以后切换到解决方案2变得相当简单。

      无论何时需要它们,只需加载它们。无论何时需要它们,只需加载它们。