2013-07-13 73 views
3

我需要問的問題是如何檢查腳本在我網站上的依賴性?爲什麼我需要做到這一點如下:如何檢查腳本依賴?

我正在更新一個客戶的現有網站,我必須提高網站的性能,問題是該網站有許多未使用的腳本伴隨着它(即大多數都在那裏,但功能沒有被使用),這是增加網站的加載時間,並將其刪除,我不知道如何檢查不必要的腳本。

所以我的問題是,有沒有什麼辦法可以檢查哪些腳本是不必要的網站,並刪除它們不會破壞網站的功能?

下面是他們使用的「一堆」腳本,我敢肯定他們中的大多數都是不必要的,但我不能冒着去除它們的風險,因爲大約有100頁這些頁面被使用。事實上,我可以說大多數是不必要的,因爲他們自己的書面腳本的質量加上還有其他標誌。

<!-- jQuery --> 
<script src="js/jquery.js"></script> 
<script src="js/jquery.min.js"></script> 
<!-- jQuery UI --> 
<script src="js/plugins/jquery-ui/jquery.ui.core.min.js"></script> 
<script src="js/plugins/jquery-ui/jquery.ui.widget.min.js"></script> 
<script src="js/plugins/jquery-ui/jquery.ui.mouse.min.js"></script> 
<script src="js/plugins/jquery-ui/jquery.ui.draggable.min.js"></script> 
<link href="css/plugins/jquery-ui/smoothness/jquery.ui.theme.css" rel="stylesheet" 
    type="text/css" /> 
<!-- Touch enable for jquery UI --> 
<script src="js/plugins/jquery-ui/jquery.ui.core.min.js"></script> 
<script src="js/plugins/jquery-ui/jquery.ui.widget.min.js"></script> 
<script src="js/plugins/jquery-ui/jquery.ui.sortable.min.js"></script> 
<script src="js/plugins/jquery-ui/jquery.ui.resizable.min.js"></script> 
<script src="js/plugins/touch-punch/jquery.touch-punch.min.js"></script> 
<!-- slimScroll --> 
<script src="js/plugins/slimscroll/jquery.slimscroll.min.js"></script> 
<!-- Bootstrap --> 
<script src="js/bootstrap.min.js"></script> 
<script src="js/plugins/datepicker/bootstrap-datepicker.js" type="text/javascript"></script> 
<script src="js/plugins/validation/jquery.validate.min.js" type="text/javascript"></script> 
<script src="js/plugins/validation/additional-methods.min.js" type="text/javascript"></script> 
<!-- vmap --> 
<script src="js/plugins/vmap/jquery.vmap.min.js"></script> 
<script src="js/plugins/vmap/jquery.vmap.world.js"></script> 
<script src="js/plugins/vmap/jquery.vmap.sampledata.js"></script> 
<link href="css/plugins/icheck/skins/square/blue.css" rel="stylesheet" type="text/css" /> 
<!-- Bootbox --> 
<script src="js/plugins/bootbox/jquery.bootbox.js"></script> 
<!-- Flot --> 
<script src="js/plugins/flot/jquery.flot.min.js"></script> 
<%-- <script src="js/plugins/flot/jquery.flot.bar.order.min.js"></script>--%> 
<script src="js/plugins/flot/jquery.flot.pie.min.js"></script> 
<script src="js/plugins/flot/jquery.flot.resize.min.js"></script> 
<script src="js/plugins/flot/jquery.flot.stack.js" type="text/javascript"></script> 
<!-- imagesLoaded --> 
<script src="js/plugins/imagesLoaded/jquery.imagesloaded.min.js"></script> 
<!-- PageGuide --> 
<script src="js/plugins/pageguide/jquery.pageguide.js"></script> 
<!-- FullCalendar --> 
<script src="js/plugins/fullcalendar/fullcalendar.min.js"></script> 
<script src="js/plugins/chosen/chosen.jquery.min.js" type="text/javascript"></script> 
<!-- Theme framework --> 
<script src="js/plugins/icheck/jquery.icheck.min.js" type="text/javascript"></script> 
<!-- Theme scripts --> 
<script src="js/plugins/datatable/jquery.dataTables.js" type="text/javascript"></script> 
<script src="js/application.min.js"></script> 
<!-- Just for demonstration --> 
<script src="js/select2.min.js"></script> 
<script src="js/demonstration.min.js"></script> 
<!-- Favicon --> 
<link rel="shortcut icon" href="css/images/logo.png" /> 
<!-- Apple devices Homescreen icon --> 
<link href="Resources/Plugins/smartPaginator/smartpaginator.css" rel="stylesheet" /> 
<script src="Resources/Plugins/smartPaginator/smartpaginator.js"></script> 
<script src="Resources/Plugins/smartPaginator/callPaginator.js"></script> 
<link rel="apple-touch-icon-precomposed" href="img/apple-touch-icon-precomposed.png" /> 
<script src="js/plugins/modernizr.custom.32549.js" type="text/javascript"></script> 
<script src="js/scripts.js" type="text/javascript"></script> 
+1

你會賺很多的錢,如果你能拿出該自動解決方案。 – alex

回答

0

谷歌做一個工具,稱爲閉合編譯器 - 它不僅刪除未使用的腳本也minifies和捆綁的東西。它可以對你的js加載時間產生很大的影響。得到它在這裏...

https://developers.google.com/closure/compiler/

+0

只是有一個翻身,這似乎是如何使用它的一個很好的例子... http://stackoverflow.com/questions/14576782/closure-compiler-options – Boycey

0

我不明白你的問題。如果您知道其功能未被使用的腳本,則可以在知道知道時刪除它們,因爲它們是不必要的。
如果你不知道這一點,你有兩個選擇:

  • 刪除它們,確保它們不會破壞任何東西。
  • 縮減大小和/或重構的時候