2015-10-05 3 views
-1

Я использую bootstrap и jQuery CDN для своего веб-приложения, и мне просто интересно, есть ли способ не попасть в кучу моих файлов и вставить ссылки и скрипты CDN, а вместо этого просто поместить все это в одно место ?Как свести к минимуму места размещения CDN?

Предположим, что я не могу сохранить bootstrap или jQuery локально или сделать веб-приложение одностраничным веб-приложением.

Я верю, что Require.js может это сделать, но я не уверен, как или есть другие библиотеки JavaScript, которые могут это сделать?

+0

Рекомендуется использовать CDN (вместо локальных копий), так как он может использовать кеширование. Избегайте локальных копий JS, если вы не работаете в Intranet (без доступа к Интернету). – Raptor

ответ

0

Прежде всего позвольте мне сказать очевидное, что большинство CDN включают в себя мини-версии уже .. но есть несколько вариантов сделать это самостоятельно. See here for others.

Я использовал этот, JShrink.

Вот пример с использованием списка КДС:

Чтобы включить скрипты ..

$scripts = array(
    "https://code.jquery.com/jquery-2.1.4.js", 
    "https://code.jquery.com/ui/1.11.4/jquery-ui.js" 
); 

foreach($scripts as $script) 
    echo "<script src='minifier.php?url=".urlencode($script)."'></script>\n"; 

Тогда minifier.php выглядит следующим образом ..

<?php 
include('vendor/autoload.php'); 
$minifiedCode = \JShrink\Minifier::minify(file_get_contents($_GET['script'])); 
header("Content-Type: application/javascript"); 
echo $minifiedCode; 
0

Вы можете вводить любой CDN в заголовок вашей страницы, используя приведенный ниже Javascript в вашем файле javascript приложения. Но вам нужен хотя бы один файл javascript, связанный на всех страницах с помощью этого скрипта.

function loadjscss(filename, filetype){ 
    if (filetype=="js"){ //if filename is a external JavaScript file 
     var fileref=document.createElement('script') 
     fileref.setAttribute("type","text/javascript") 
     fileref.setAttribute("src", filename) 
    } 
    else if (filetype=="css"){ //if filename is an external CSS file 
     var fileref=document.createElement("link") 
     fileref.setAttribute("rel", "stylesheet") 
     fileref.setAttribute("type", "text/css") 
     fileref.setAttribute("href", filename) 
    } 
    if (typeof fileref!="undefined"){ 
     document.getElementsByTagName("head")[0].appendChild(fileref) 
    } 
} 

loadjscss("https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.min.js", "js"); 

loadjscss("https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css", "css"); 
Смежные вопросы