繁体   English   中英

合并多个jquery文件

[英]Combining multiple jquery files

由于某种原因,我无法通过php将我的javascript文件合并为一个文件,就像使用CSS一样。

基本上,我希望将我所有的javascript文件合并为一个。 但是,这以某种方式破坏了我的代码。 就像jQuery生成的$值在其余代码(例如jquery ui)中不可用。

出于某种原因,是否需要将jQuery加载到自己的<script type="text/javascript" src=""></script>中? 那是什么原因呢?

我按照它们在浏览器中的工作顺序将它们包括在内。

jQuery-> jQuery UI-> jQuery自定义函数->我自己的脚本

您可能需要在单个脚本之间放置换行符和/或分号。
例如,您从https://ajax.googleapis.com/ajax/libs/jqueryui/1.8.18/jquery-ui.min.js获得的缩小的jQuery UI脚本以

return this}})}(jQuery)

如果现在在其后追加另一个脚本,则很可能会收到语法错误。
让我们看一下原始的scripts.php

<?php
header('Content-type: Application/javascript');
readfile('http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js');
readfile('http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.18/jquery-ui.min.js');

echo '$(document).ready(function() {
    alert("hello");
    $( "#dialog" ).dialog( "open" );
});
';

这行不通,但是

<?php
header('Content-type: Application/javascript');
readfile('http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js');
echo "\r\n;";
readfile('http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.18/jquery-ui.min.js');
echo "\r\n;";    
echo '$(document).ready(function() {
    alert("hello");
    $( "#dialog" ).dialog( "open" );
});
';

将。

要考虑的其他事项:

  • 这可能不是灵丹妙药。 我选择了“ \\ r \\ n;” a)从最后一行的//注释中退出,并b)用分号关闭“打开”语句。 但是javascript(及其实现)缺少分号的行为可能很奇怪(这是一个坏功能),我宁愿手动“修复”每个脚本而不是添加固定的“修复字符串”。
  • 在“让像Google这样的CDN托管那些javascript库并依靠客户端的缓存”这一阵营中,我很坚定……但是手头没有很好的证据来支持这一立场。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM