web优化 之 增量更新

本文Demo的完整工程代码, 参考dva-incremental-updating

目录

  • start

  • template

  • hash

  • gulp

  • url

start

dva new dva-incremental-updating-html
npm run build && cat dist/index.html



  
  
  Dva Demo
  


  

template

vim src/index.ejs




  
  
  
  机械指挥官 - 工程机械物联网智慧管理解决方案



  
npm run build && cat dist/index.html




  
  
  
  机械指挥官 - 工程机械物联网智慧管理解决方案



  

hash

vim .roadhogrc
{
  "entry": "src/index.js",
  "env": {
    "development": {
      "extraBabelPlugins": [
        "dva-hmr",
        "transform-runtime"
      ]
    },
    "production": {
      "extraBabelPlugins": [
        "transform-runtime"
      ]
    }
  },
  "hash": true
}
npm run build && cat dist/index.html




  
  
  
  机械指挥官 - 工程机械物联网智慧管理解决方案



  

gulp

cnpm i -g gulp && cnpm i --save-dev gulp gulp-shell
vim gulpfile.js
var gulp = require('gulp');
var shell = require('gulp-shell');

var buildType = 'production';

gulp.task('build', shell.task([
  'npm run build',
  'echo production server deploy success!'
]));

gulp.task('deploy-production', ['build'], shell.task([
  'echo production server deploy success!'
]));

gulp.task('default', [`deploy-${buildType}`]);
gulp

url

vim change_url.py
#!/usr/bin/env python
# -*- coding:utf-8 -*-


def chnage_url():
    file = open('./dist/index.html', 'r+')
    lines = file.readlines()
    file.seek(0)
    for line in lines:
        new_line = line.replace('/index', '//a.zhgcloud.com/index')
        file.write(new_line)
    file.close()


chnage_url()
vim gulpfile.js
gulp.task('deploy-production', ['build'], shell.task([
  './change_url.py',
  'echo production server deploy success!'
]));

参考

  • 缓存

  • web优化 之 hash

更多文章, 请支持我的个人博客

你可能感兴趣的:(web优化 之 增量更新)