Javascript 是否可以将jQueryAjax请求链接为一级队列(无嵌套)

Javascript 是否可以将jQueryAjax请求链接为一级队列(无嵌套),javascript,jquery,callback,getscript,Javascript,Jquery,Callback,Getscript,这个问题最初源于一个想法,即使用$.getScript动态加载一组javascript文件 我正在开发几个项目的仅js前端,这些项目共享一些库,最好(至少看起来)有一个js文件来处理公共库,包括,还有另一个——处理特定库 我所说的一些前端实际上将作为其他网站的小部件工作,在我们将js文件压缩过程设置为一个过程之前,还需要将小部件作为单个js包含,然后将所有依赖项包含在一个队列中 比如: $.getScript .getScript .getScript 因此,问题分为两部分: 1.这有意义吗?

这个问题最初源于一个想法,即使用$.getScript动态加载一组javascript文件

我正在开发几个项目的仅js前端,这些项目共享一些库,最好(至少看起来)有一个js文件来处理公共库,包括,还有另一个——处理特定库

我所说的一些前端实际上将作为其他网站的小部件工作,在我们将js文件压缩过程设置为一个过程之前,还需要将小部件作为单个js包含,然后将所有依赖项包含在一个队列中

比如: $.getScript .getScript .getScript

因此,问题分为两部分: 1.这有意义吗? 2.如果是,如何进行


谢谢

你的意思是:你想写这样的东西吗

$.getScript("js/file1.js").getScript("js/file2.js").getScript("js/file3.js");
结果是从服务器加载一个文件,其中包含所有指定的文件(排序为
file1.js+file2.js+file3.js
),不是吗?如果我明白了,那么这似乎是不可能的,至少是那样。它确实有一定的意义,甚至很好,因为浏览器将发送一个请求而不是三个请求(所以性能会更好)。 要实现您想要的,您需要服务器端的良好支持。你可以写

$.getScript("js/libraries?files=file1,file2,file3");
服务器端应该能够解析这个请求,附加请求中提到的所有文件,并发送给您。但正如您所看到的,服务器端应该存在一些东西来帮助您

如果您开发了一些框架之类的,您可以进行预定义的构建,例如,您的库将包含

js/
    file1.js
    file2.js
    file3.js
common.js
其中,
common.js
只是
file1.js+file2.js+file3.js
,您可以将其自动化,因此您将更改代码,然后运行一个特殊的构建,该构建将创建
common.js
。这样你就可以信赖了

$.getScript("common.js");
这甚至比要求更好

$.getScript("js/libraries?files=file1,file2,file3");

因为在最后一种情况下,必须执行一些运行时作业(性能受到一定影响)。当我们开发我们的项目时,我们在服务器端使用它来生成预定义的javascript库/文件包

感谢您提供的详细答案。在我们的例子中,后端可能被认为是与前端分开部署的,前端所在的位置——基本上只有php。我可以为您提出的内容编写一个小的php脚本,但是js压缩看起来更有趣。但是,在这种情况下,我希望库的工作方式与css的scss非常类似——在运行时本地观察js文件中的更改。如果您能告诉我在哪里可以找到它,我们将不胜感激:)嗯,我不知道任何像jawr for php这样的库,所以您真的需要编写自己的库;在讨论JS压缩器时,您可以附加脚本文件,然后使用您喜欢的工具压缩(缩小)它们。您的服务器可以配置为压缩响应(例如javascript),这也有助于减少流量…创建包后,您可以将其保存在文件系统上;下一次,您需要做的就是检查您的脚本在何处之后是否没有更改(只需检查文件何时何处并与包文件创建时间进行比较)。某种程度上。。。否则,您需要哪些提示?;)