#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>复制代码