#vue單頁面應用,經常會遇到首頁加載過慢的狀況javascript
vue-cli中只需開啓gzip壓縮,會將原來的代碼再次壓縮50%以上php
vue項目中配置方法:config/index.jscss
固然不要忘記下載上面提示的插件:html
npm install --save-dev compression-webpack-plugin
複製代碼
#後臺配置方法vue
## Nginx開啓gzipjava
找到nginx.config。關於gzip壓縮代碼node
http {gzip on; #開啓或關閉gzip on off
gzip_disable "msie6"; #不使用gzip IE6
gzip_min_length 100k; #gzip壓縮最小文件大小,超出進行壓縮(自行調節)
gzip_buffers 4 16k; #buffer 不用修改
gzip_comp_level 3; #壓縮級別:1-10,數字越大壓縮的越好,時間也越長
gzip_types text/plain application/x-javascript text/css application/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png; # 壓縮文件類型
gzip_vary off; #跟Squid等緩存服務有關,on的話會在Header裏增長 "Vary: Accept-Encoding"
}複製代碼
gzip使用環境:http,server,location,if(x),通常把它定義在nginx.conf的http{…..}之間webpack
以上代碼能夠插入到 http {...}整個服務器的配置裏,也能夠插入到虛擬主機的 server {...}或者下面的location模塊內nginx
## node端web
只要加上compress模塊便可,代碼
var compression = require('compression')
var app = express();
//儘可能在其餘中間件前使用compression
app.use(compression());// 這是基本用法,若是還要對請求進行過濾的話,還要加上app.use(compression({filter: shouldCompress}))
function shouldCompress (req, res) {
if (req.headers['x-no-compression']) {
// 這裏就過濾掉了請求頭包含'x-no-compression'
return false
}
return compression.filter(req, res)
}複製代碼
##tomcat
tomcat的配置以下
找到tomcat的server.xml文件,找到其中Connector節點而後進行配置修改,具體配置以下
<Connectorport="80"protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" URIEncoding="UTF-8" maxPostSize="0" useBodyEncodingForURI="true"compression="on" compressionMinSize="2048"noCompressionUserAgents="gozilla, traviata"compressableMimeType="text/html,text/xml,application/javascript,text/css,text/plain,image/jpeg,application/json"/>複製代碼
參數說明:
注意:tomcat7之後,js文件的mimetype類型變爲了application/javascript,而在tomcat7如下則爲text/javascript;具體的tomcat7定義的類型能夠在:conf/web.xml文件中找到。
能夠在web.xml下搜索,如我搜索javascript會找到以下代碼
<mime-mapping>
<extension>js</extension>
<mime-type>application/javascript</mime-type>
</mime-mapping>複製代碼