簡體   English   中英

解決最小化關鍵請求深度 - 頁面性能

[英]Solve Minimize Critical Requests Depth - Page Performance

我的問題

對於我的網絡應用程序,頁面的初始加載需要超過 20 秒。 在 Chrome - Audit -LightHouse 上顯示以下信息。 在此處輸入圖片說明

我不知道如何解決這個問題以使我的頁面加載速度更快。 我已經很長時間了。

我在下面放置了一些關於如何在我的部分布局和主頁中打包和呈現包的細節。 任何幫助都非常感謝。

下面是我捆綁的 js 和 css 文件。

  bundles.Add(new ScriptBundle("~/bundles/jquery").Include(
                    "~/Scripts/jquery-{version}.js"));/*2.1.1*/

        bundles.Add(new ScriptBundle("~/bundles/jqueryval").Include(
                    "~/Scripts/jquery.validate*"));

        bundles.Add(new ScriptBundle("~/bundles/jqueryui").Include(
                    "~/Scripts/jquery-ui.js"));

        // Use the development version of Modernizr to develop with and learn from. Then, when you're
        // ready for production, use the build tool at https://modernizr.com to pick only the tests you need.
        bundles.Add(new ScriptBundle("~/bundles/modernizr").Include(
                    "~/Scripts/modernizr-*"));

        bundles.Add(new ScriptBundle("~/bundles/bootstrap").Include(
                  "~/Scripts/bootstrap.min.js",
                  "~/Scripts/respond.min.js"));

        bundles.Add(new ScriptBundle("~/bundles/signalConnect").Include(
                  "~/Scripts/SignalScripts/SignalConnectScript.js"));


        bundles.Add(new ScriptBundle("~/Content/sliderpips").Include(
                  "~/Content/jQuery_Slider_Pips/js/jquery-ui-slider-pips.js"));//,
                                                                               //"~/Scripts/respond.js"));

        bundles.Add(new ScriptBundle("~/bundles/highcharts").Include(
                  "~/Scripts/HighCharts/highcharts.js",
                  "~/Scripts/HighCharts/highcharts-more.js",
                  "~/Scripts/HighCharts/exporting.js")
                  );


        bundles.Add(new ScriptBundle("~/Content/TinyDateTimePicker").Include(
                 "~/Content/TinyDateTimePicker/demo/events.js",
                 "~/Content/TinyDateTimePicker/calendar.js",
                 "~/Content/TinyDateTimePicker/datePicker.js",
                 "~/Content/TinyDateTimePicker/tinyDateTimePicker.js")
                 );



        bundles.Add(new ScriptBundle("~/bundles/signalgen").Include(
                    "~/Scripts/SignalScripts/SignalGenScript.js"));

        bundles.Add(new ScriptBundle("~/bundles/signaldata").Include(
                    "~/Scripts/SignalScripts/SignalDataScript.js"));

        bundles.Add(new ScriptBundle("~/bundles/signaldatacompare").Include(
                    "~/Scripts/SignalScripts/SignalScript.js"));

        bundles.Add(new ScriptBundle("~/bundles/signaldatareport").Include(
                    "~/Scripts/SignalScripts/SignalReportScript.js"));

        bundles.Add(new ScriptBundle("~/bundles/signaldataalarm").Include(
                    "~/Scripts/SignalScripts/SignalAlarmScript.js"));

        bundles.Add(new ScriptBundle("~/bundles/signalmaster").Include(
                    "~/Scripts/SignalScripts/SignalMasterScript.js",
                    "~/Scripts/Misc/jscolor.js"));

        //bundles.Add(new ScriptBundle("~/bundles/highcharts").IncludeDirectory("~/Scripts/HighCharts","*.js"));


        bundles.Add(new StyleBundle("~/Content/css").Include(
                  "~/Content/bootstrap.css",
                  "~/Content/site.css"//,

                  ));

        bundles.Add(new StyleBundle("~/Content/papercss").Include(
                   "~/Content/assets/css/paper-dashboard.css",
                   // "~/Content/assets/css/themify-icons.css",
                  //"~/Content/Custom/site_layout/css/bootstrap-responsive.min.css"//,
                  "~/Content/Custom/site_layout/css/site_layout.css"
                  //"~/Content/3rdCss/flick/jquery-ui.css",
                  //"~/Content/3rdCss/smoothness/jquery-ui.css"
                  ));

        bundles.Add(new StyleBundle("~/Content/jqueryUIcss").Include(
                 "~/Content/jqueryui.min.css"));

        bundles.Add(new StyleBundle("~/Content/sliderpipscss").Include(
                 "~/Content/jQuery_Slider_Pips/css/jquery-ui-slider-pips.css"));

        bundles.Add(new StyleBundle("~/Content/TinyDateTimePickercss").Include(
                 "~/Content/TinyDateTimePicker/datePicker.css",
                 "~/Content/TinyDateTimePicker/themes/white/datePicker.css"));

在我的 _Layout.cshtml

在局部視圖 (_Lyout.cshtml) 開始時,我呈現了以下內容

<title>@ViewBag.Title - Dashboard - IO </title>
@Styles.Render("~/Content/css")

@Scripts.Render("~/bundles/modernizr")

在局部視圖 (_Layout.cshtml) 的末尾,我呈現了以下腳本

 @Scripts.Render("~/bundles/jquery")
@Scripts.Render("~/bundles/jqueryui")
@Scripts.Render("~/bundles/bootstrap")
@Scripts.Render("~/bundles/signalgen")

@RenderSection("Scripts", required: false)
@Scripts.Render("~/bundles/jqueryval")
@Scripts.Render("~/bundles/highcharts")</body>

在我的 index.cshtml 中,我在結束視圖中有以下代碼

@section scripts{

@Styles.Render("~/Content/jqueryUIcss")
@Styles.Render("~/Content/sliderpipscss")
@Scripts.Render("~/Content/sliderpips")


@*<!- -SignalR- ->*@
<script src="~/Scripts/jquery.signalR-2.2.2.min.js"></script>
<script src="~/SignalR/hubs"></script>
@Scripts.Render("~/bundles/signalConnect")

<script type="text/javascript">
        $(document).ready(function () {
            var dModel = @Html.Raw(Json.Encode(Model));
            prepareSignalData(dModel);


        });

</script>}
  • 延遲/異步非關鍵js。

  • 結合 css/js 文件以最小化請求。

  • 預連接外部域,例如:

     <link href='fonts.googleapis.com' rel='preconnect' crossorigin>
  • 預加載 css/js,例如:

     <!-- Preloading resources -––––––––––––––––––––––––––– --> <link rel="preload" href="http://www.pagespeedinsights.org/theme/css/normalize.css" as="style"> <link rel="preload" href="http://www.pagespeedinsights.org/theme/css/skeleton.css" as="style"> <link rel="preload" href="http://www.pagespeedinsights.org/theme/css/custom.css" as="style" > <!-- FONT –––––––––––––––––––––––––––––––––––––––––––– --> <link href='//fonts.googleapis.com/css?family=Raleway:400,300,600' rel='stylesheet' type='text/css'> <!-- CSS -----–––––––––––––––––––––––––––––––––––––––– --> <link rel="stylesheet" href="http://www.pagespeedinsights.org/theme/css/normalize.css"> <link rel="stylesheet" href="http://www.pagespeedinsights.org/theme/css/skeleton.css"> <link rel="stylesheet" href="http://www.pagespeedinsights.org/theme/css/custom.css" >

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM