2016-08-30 70 views
0

我已将所有js文件组织到一个通用的clientlib类别中。例如如何调用客户端库的特定js文件?

->etc 
    ->designs 
    ->myapp 
    -> clientlibs 
     -> base 
     -> js 
      -> app1.js 
      -> app2.js 
      -> app3.js 

所以,当我访问/etc/designs/myapp/clientlibs/base.js,它返回一个大的合并与JS从内容全部包括的js。有没有办法从这个base.js访问特定的js(比如说app2.js)。我们可以使用像/etc/designs/myapp/clientlibs/base/js/app2.js这样的相对路径,它可以工作。

但是有没有更好的方法(也许使用/clientlibs/base.app2.js选择器)返回此js? 或者只有这种方式才能访问特定的js?

回答

2

像你一样使用相对路径是访问特定.js文件的方式。客户端库不是通过选择器访问的。理想情况下,您需要始终通过客户端lib加载JavaScript,因为它可以提高将脚本组合到单个HTTP请求中的性能(更多的HTTP请求需要比1加载更长的时间)。它还压缩脚本以使它们更小。所以你可以让你的脚本具有完整的空白空间以及像app1.js这样的文件中的注释和格式化,然后通过基础客户端lib加载它们,从而删除脚本中不需要的空白和注释最终用户下载。

如果你只想要一个部分的客户端库,你可以定义第二个客户端库,只包括你想要的部分。您可以拥有包含在多个不同客户端库中的相同源文件(如app1.js)。对于你的用例来说,这听起来像是最好的方法。

对于调试,您可以随时添加?debugClientLibs=true查询字符串以在浏览器中再次查看单个文件。