2017-06-22 71 views
2

我有一個ASP.NET Core MVC應用程序。當我部署它時,它不應該從互聯網上下載任何庫或任何東西(例如bootstrap和jquery)。我想在本地擁有它們並使用它們。我怎樣才能做到這一點?禁止web應用程序下載引導程序和jQuery

我的進步:

我已經發現,在_Layout.cshtml有這段代碼:

<environment names="Development"> 
    <script src="~/lib/jquery/dist/jquery.js"></script> 
    <script src="~/lib/bootstrap/dist/js/bootstrap.js"></script> 
    <script src="~/js/site.js" asp-append-version="true"></script> 
</environment> 
<environment names="Staging,Production"> 
    <script src="https://ajax.aspnetcdn.com/ajax/jquery/jquery-2.2.0.min.js" 
      asp-fallback-src="~/lib/jquery/dist/jquery.min.js" 
      asp-fallback-test="window.jQuery"> 
    </script> 
    <script src="https://ajax.aspnetcdn.com/ajax/bootstrap/3.3.6/bootstrap.min.js" 
      asp-fallback-src="~/lib/bootstrap/dist/js/bootstrap.min.js" 
      asp-fallback-test="window.jQuery && window.jQuery.fn && window.jQuery.fn.modal"> 
    </script> 
    <script src="~/js/site.min.js" asp-append-version="true"></script> 
</environment> 

它是安全的唯一開發腳本的內容複製到運行,生產?這是否有其他解決方案?

+0

爲什麼?這可能很重要。由於每個瀏覽器緩存,使用標準CDN是非常可取的。 –

+0

當我部署應用程序時,它無法訪問其他網站,因此當用戶訪問它時,他必須等待幾分鐘,直到超時... – MacakM

+0

您的最終用戶是否可以訪問互聯網?這與您的服務器具有或不具有的訪問(非常)不同。 –

回答

2

當您真的需要它內部(也許在屏蔽IntraNet中),那麼您應該設置您自己的CDN(-alike)在那裏縮小(.min.js)版本。嘗試在所有公司內網站中重複使用該位置。

正如您所看到的,將任意版本(環境)指向任何您想要的地方都非常容易。

+0

所以我可以從? – MacakM

+0

是的,這應該工作。但就像我說的,'〜/ lib'不是最好的位置,特別是當你有多個內部站點時。 –

+0

謝謝,我會試試看。爲什麼它不是最好的位置?由於這些庫在我的每個應用程序中都有不必要的副本?還是有其他原因嗎? – MacakM

-1

我不是用戶ASP CORE,只是ASP MVC但我認爲與ASP.CORE你有訪問npm。如果你有訪問npm使用這個。如果沒有創建文件jquery.js並在您的佈局中(或在您的佈局中)引用此文件