首页 技术 正文
技术 2022年11月21日
0 收藏 915 点赞 2,125 浏览 573 个字

本文样例代码 :https://github.com/demohi/learning-gulp

本文主要简单介绍一下基于gulp和webpack的前端工程化。

技术栈

  • React.js
  • reFlux
  • Node.js

我们的需求

  • 基于CommonJS模块化开发
  • 基于React.js的组件化开发(JSX)
  • 为保证组件的复用,css需要打包到js中
  • 有国际化需求,静态文件需要部署在CDN上面

工程化工具的选择

  • gulp(基于stream的构建工具,与grunt相比,速度快且可编程)
  • webpack(前端文件打包工具,支持CommonJS、JSX、css等多种文件混合)

工程化流程

[转]基于gulp和webpack的前端工程化

开发模式

开发模式比较简单,主要就是监听文件变化,自动进行打包、合并的操作。

生产模式

参考我们的技术栈与需求,我们的静态文件都要发布到cdn上,而且必须有md5版本号,方便快速发布(cdn更新极其缓慢,所以更新必须使用新的文件名)

生产模式主要增加了文件压缩、文件md5名修改、上传cdn、替换html等操作

这样的好处就是上线非常方便,一个命令即可更新线上,而且不存在缓存问题。

代码参考

基于上述流程写了个demo,供大家参考learning-gulp

可优化的点

  • gulp4发布,可以直接基于gulp来做串行任务
  • 增加livereload,不要再刷新
  • 使用react-hot-loader,不刷新实时替换修改
相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:8,983
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,500
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,344
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,127
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:7,761
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:4,838