Angular6項目的打包部署

一、摘要

        今天記錄Angular6項目的打包部署。當我們開發好一套系統後,項目的部署也是很關鍵的一步。

二、前提

       已經有一個正常的Angular6開發環境,並且在本地的開發環境中可以正常的啓動,訪問自己的angular項目。

三、需求

       將項目打包後,放到服務器上,直接訪問服務器地址,項目正常訪問。

四、具體過程

     1、使用項目打包命令進行打包

ng build --prod --base-href /project_name/

主要參數解釋:

  • --prod:會把沒用的都刪掉,編出來的包直接小60% (我沒用這個參數前的文件是19M,加上後就只有4M)
  • --base-href /project_name/  :指定項目發佈後的跟路徑,後面的project_name根據自己的實際情況指定

  2、命令執行完成後,會在dist目錄下有打包好的project_name文件夾,將這個文件夾拷貝到tomcat的webapp目錄下即可。

  3、配置tomcat的配置文件server.xml(原因見後面說明)

    <Connector port="8082" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443"  
			   compression="on" 
			   useSendfile="false" 
			   compressionMinSize="2048" 
			   noCompressionUserAgents="gozilla" 
			   compressableMimeType="text/html,text/xml,text/javascript,application/javascript,text/css,text/plain,text/json"
			   useBodyEncodingForURI="true" 
			   URIEncoding="UTF-8"/>

    上面的主要目的是:開啓tomcat的gzip功能,原理很簡單,瀏覽器加載到的是服務器壓縮後的包,瀏覽器自己再解壓,速度至少提高2倍以上

HTTP 壓縮可以大大提高瀏覽網站的速度,它的原理是,在客戶端請求服務器對應資源後,從服務器端將資源文件壓縮,再輸出到客戶端,由客戶端的瀏覽器負責解壓縮並瀏覽。相對於普通的瀏覽過程HTML ,CSS,Javascript , Text ,它可以節省40%左右的流量。更爲重要的是,它可以對動態生成的,包括CGI、PHP , JSP , ASP , Servlet,SHTML等輸出的網頁也能進行壓縮,壓縮效率也很高

主要參數解釋如下:

  • compression -- 開啓gzip
  • useSendfile -- 這個很重要,不關閉的話壓縮是無效的
  • compressionMinSize -- 最小壓縮大小  當文件大於這個值才進行壓縮,如果小文件壓縮完有可能比原文件都大 大小爲BIT 2048即是2K

  • noCompressionUserAgents="gozilla" 對於以下的瀏覽器,不啓用壓縮 

  • compressableMimeType -- 壓縮的類型 哪些資源類型需要壓縮

備註:第3小步其實屬於tomcat的優化問題了,列在這裏的原因是,我初次部署的angular項目到服務器上後,首頁的打開速度大概在10s左右,實在接受不了,於是找原因,原因有二,一個是打包命令沒用用--pro,另一個就是tomcat沒有優化,當然,第一個原因可能佔很大一部分,不過第二個優化也有一定的加速。

最後,直接在瀏覽器中輸入你的地址:http://localhost:8082/project_name 即可。

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章