我已将所有 js 文件组织到一个通用的 clientlib 类别中。例如
->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的唯一方法?
最佳答案
像您一样使用相对路径是访问特定 .js 文件的方法。客户端库并非设计为通过选择器访问。理想情况下,您希望始终通过客户端库加载 JavaScript,因为它将脚本组合到单个 HTTP 请求中可以提高性能(更多的 HTTP 请求需要比 1 个请求更长的时间来加载)。它还压缩脚本以使其更小。因此,您可以在 app1.js 等文件中使用完整的空格和注释和格式来获取源脚本,然后通过基本客户端库加载它们,从而删除最终用户下载的脚本中不需要的空格和注释.
如果您只需要客户端库的部分,您可以定义仅包含您想要的部分的第二个客户端库。您可以将相同的源文件(例如 app1.js)包含在多个不同的客户端库中。对于您的用例,这听起来是最好的方法。
为了进行调试,您始终可以添加 ?debugClientLibs=true
查询字符串,以便临时在浏览器中再次查看各个文件。
关于javascript - 如何调用客户端库的特定js文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39233836/