设为首页 - 加入收藏 ASP站长网(Aspzz.Cn)- 科技、建站、经验、云计算、5G、大数据,站长网!
热搜: 重新 试卷 文件
当前位置: 首页 > 运营中心 > 建站资源 > 优化 > 正文

性能优化篇---Webpack构建代码质量压缩(3)

发布时间:2019-03-26 14:51 所属栏目:21 来源:keywords
导读:webpack配置接入CDN CDN 网站接入CDN,需要将网页的静态资源上传到CDN服务器,使用CDN地址访问; 使用CDN可以决解资源并行下载限制,处理静态资源Cookie同域名携带等问题; CDN缓存和回源需要合理的设置静态资源has

webpack配置接入CDN

  •  CDN
  •  网站接入CDN,需要将网页的静态资源上传到CDN服务器,使用CDN地址访问;
  1.  使用CDN可以决解资源并行下载限制,处理静态资源Cookie同域名携带等问题;
  2.  CDN缓存和回源需要合理的设置静态资源hash
  3.  接入CDN会引入多个域名,增加域名解析时间,可进行预解析域名<link rel="dns-prefetch" href="//js.dns.com" />
  •  webpack实现接入
  1.  output.publicPath设置JavaScript地址
  2.  css-loader.publicPath设置CSS导入的资源地址
  3.  WebPlugin.stylePublicPath中设置Css文件地址 
  1. // JavaScript  
  2. output: {  
  3.     publicPath: '//js.cdn.com/js/',  
  4.     path: path.join(__dirname, '../docs/dist'), // 打包后的文件存放的地方  
  5.     // 为输出的JavaScript文件名加上Hash值使用`chunkhash`(chunkhash:根据模块内容变化;hash: 根据每次构建随机)  
  6.     filename: "js/[name].[chunkhash:8].js",  
  7.     chunkFilename: "js/[name]-[id].[chunkhash:8].js",  
  8. }, 

开启gzip压缩

  •  使用插件:npm i -D compression-webpack-plugin;
  •  webpack配置 
  1. const CompressionPlugin = require("compression-webpack-plugin");  
  2. plugins: [  
  3.     new CompressionPlugin({  
  4.         filename: '[path].gz[query]', //目标资源名称。[file] 会被替换成原资源。[path] 会被替换成原资源路径,[query] 替换成原查询字符串  
  5.         algorithm: 'gzip',//算法  
  6.         test: /\.(js|css)$/,    //压缩 js 与 css  
  7.         threshold: 10240,//只处理比这个值大的资源。按字节计算  
  8.         minRatio: 0.8//只有压缩率比这个值小的资源才会被处理  
  9.     })  
  •  后台开启使用koa  
  1. const staticCache = require('koa-static-cache');  
  2. import config from './configs';  
  3. const app = new Koa();  
  4. app.use(staticCache(path.resolve(__dirname, "../dist"), {  
  5.     maxAge: 7 * 24 * 60 * 60,  
  6.     gzip: true, //开启  
  7.     dynamic: true,  
  8. })) 

(编辑:ASP站长网)

网友评论
推荐文章
    热点阅读