簡體   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