将多个 JavaScript 文件合并为一个 JS 文件

IT技术 javascript jquery jquery-ui
2021-01-28 20:55:58

我在我的 Web 应用程序中使用 jquery,我需要将更多 jquery 脚本文件加载到单个页面中。

Google 建议我将所有 jquery 脚本文件合并到一个文件中。

我怎样才能做到这一点?

6个回答

在 linux 上,您可以使用简单的 shell 脚本https://github.com/dfsq/compressJS.sh将多个 javascript 文件合并为一个。它利用了 Closure Compiler 在线服务,因此生成的脚本也被有效地压缩。

$ ./compressJS.sh some-script.js another-sctipt.js onemore.js
这可以与车把一起使用吗?
2021-03-21 20:55:58
最好使用 Grunt、Gulp 之类的任务管理器和其他类似的东西可以自动执行此操作。使用 Grunt 我将我的 less、typescript、handlebars 编译到一个生成的文件夹中,然后我将 js/css 文件也复制到生成的文件夹中,最后我还将所有 .js 文件缩小到一个 js 文件和一个 css 文件中所有 .css 文件。我有一个观察者在文件更改时重新运行该配置,以便我可以保存文件并刷新浏览器,并且所有更改都已在 1-3 秒内应用。
2021-03-23 20:55:58

只需组合文本文件,然后使用类似YUI Compressor 的东西

文件可以使用命令容易地组合cat *.js > main.js和main.js然后可以通过YUI压缩机使用中运行java -jar yuicompressor-x.y.z.jar -o main.min.js main.js

2014 年 8 月更新

我现在已经迁移到使用Gulp进行 javascript 连接和压缩,就像使用各种插件和一些最小的配置一样,你可以做一些事情,比如设置依赖项、编译 coffeescript 等以及压缩你的 JS。

固定@reformed。
2021-03-14 20:55:58

你可以通过

  • 一个。手动:将所有 Javascript 文件复制到一个,在其上运行压缩器(可选但推荐)并上传到服务器并链接到该文件。
  • 使用 PHP:只需创建一个包含所有 JS 文件的数组并将include它们全部输出到一个<script>标签中
不推荐选项 B,因为它会导致您的浏览器对所有小的单个 .js 文件发出多次请求(慢),而不仅仅是对更大的 .js 文件(更快)的一个请求。
2021-03-19 20:55:58
@Mikepote,是的...因此我使用了这个词,include即不要将 <script src="...."> 链接到多个文件,只需将它们包含到一个脚本元素中即可。理想情况下,应该使用 CDN 和适当的缓存。
2021-04-05 20:55:58
啊对不起,我误读了你的回答。
2021-04-07 20:55:58
最好使用 readfile() 来避免解析开销和意外得到一些解释。
2021-04-09 20:55:58
你能在这里举一些例子吗?
2021-04-13 20:55:58

我通常把它放在一个Makefile

# All .js compiled into a single one.
compiled=./path/of/js/main.js

compile:
    @find ./path/of/js -type f -name "*.js" | xargs cat > $(compiled)

然后你运行:

make compile

我希望它有帮助。