前端工程化,你做了多少?

前端工程化是近几年比较热门的一个东西,大大小小的团队也在朝着这一方向发展,那么你的团队做了多少呢?

前端发展简史

  • 石期时代

最初的前端页面都是一些静态页面,人们看到的网页就像报纸一样。

  • 青铜时代

后端为主的时代,往往页面都是后端利用一些模版引擎来完成页面;对于有大量页面的项目,前端在写页面需要构造一定的环境,比如jsp,php等。

  • 铁器时代

随着ajax的诞生,浏览器可以主动从服务端拉取数据,前后端分离的时代到来,SPA应运而生,前端可以处理一些复杂的交互、业务逻辑。

  • 工业时代

随着前端扮演的角色越来越重要,各种SPA框架层出不穷;nodejs的活跃也为前端带来了更有利开发方式以及更多的发展方向。

前端工程化需要做哪些?

  • 代码管理工具

目前来看大多数都是git/svn,当然还是推荐使用git,好处自然不用说。

  • 项目创建、开发、发布

项目创建包含了技术选型,目录结构设计,模块化等。开发中可能会遇到页面适配、样式预处理以及开发便捷性。发布涉及到了代码打包、发布到服务器,你可能还会做一些打包优化等等。

  • 前端自动化工具

对于前端工具这个就很繁杂了,比如图片压缩、开启本地服务代理等等。

当然前端工程化远不止于此,还有单元测试、规范制定等,本文主要梳理开发中最常见的几个环节,看看大家目前的状态是什么样子的?有哪些可以做改进。毕竟茹毛饮血不是我们想要的!

在前端开发中“你”是怎么做的?

  • 项目创建

    开发一个项目,首先要创建项目,大概收集了几种方式

    1. copy后修改一下。
    2. git clone -> npm install -> npm start(克隆自己的空项目开发)。
    3. 使用框架官方脚手架(vue-cli, Angular-cli,create-react-app),然后再改改。
    4. 有自己的脚手架构建器,统一管理(一般是有大牛发力)。
      对于前端项目,我们需要做的有很多,比如要适配各种移动端机型,要兼容低版本,想用sass/less,还想用es6甚至是ts,对自己严格要求加个eslint等等,如果你还处于1,2,3情况,那么这些东西每次开发新项目都要重新来一遍,如果你很熟练,可能个把小时就弄好了,否则可能创建项目就要半天。
  • 项目构建

    项目构建目前来说基本都是使用webpack,但是其复杂的配置、版本迭代速度让很多开发望而生畏,甚至诞生处理webpack配置工程师(有这个的真牛批??)。
    但是我们依然需要开发构建和打包构建能提供一些能里,比如开发热更新,各种预处理,结合性能优化所需要的一些配置(雪碧图,代码分割,压缩,cdn),多页配置,当项目很大的时候我们还需要优化构建速度。突然发现开发完业务功能还有一堆的事情要做,如果没有相关经验积累真是头大。

  • 前端工具
    nodejs的盛行给前端开发带来了更多的便捷,各种npm包,node工具。对于工具这一块TJ大神写的 commander.js让我们更加便捷的开发命令式工具,常见的脚手架初始化、代码转化等,真的算是一个神器了。
    但是,不得不说,开发还是有一定的技术要求的,注册命令就要写一堆东西,还有参数解析;而且如果我们有多个工具,直接这么来写是很不方便管理的,比如我想查看有哪些是我们自己开发的命令。

适合自己的工作流

上面仅仅是介绍了关于项目开发中的问题,随着前端重要性越来越大,工作量也是与日俱增,而前端工程化正是帮助我们优化流程、减少工作量,因此拥有自己的前端工作流势在必行。
讲了这么多,给大家推荐一个不错的前端工作流工具feflow,利用这个工具,从创建项目到业务开发,再到打包发布,涵盖了整个完整的工作流程。

  • 脚手架和构建器
    官方有给出react+redux的脚手架以及基于webpack4的构建器,而且还可以根据官方文档自定义自己的脚手架和构建器,对于不同的框架和业务都可以完美的接入。
  • 插件体系
    此外feflow还提供了丰富的插件体系,你可以自定义各种插件,通过feflow 命令来调用:
feflow.cmd.register('add', '加法运算器', function(args) {
    add(args._);
});
function add (args) {
    const sum = args.reduce((sum, item) => {
        return sum + item
    }, 0)

    console.log(sum)
    return sum
}
# 调用
feflow add 1 2 3
# 输出
 6

是不是很简单,并且命令都是可控的(feflow 控制下)。

结语

不管用什么工具方法,目的都是为了优化工作流程,让我们轻松高效的完成工作。最后附上feflow官网http://www.feflowjs.org/。

原文地址:https://www.cnblogs.com/Upton/p/10311913.html

时间: 2024-08-30 13:18:14

前端工程化,你做了多少?的相关文章

HTML5移动应用开发为什么需要引入前端工程化

使用HTML5和Javascript开发的移动应用,和典型的现代Web前端项目一样,有着大量的Javascript,HTML和CSS代码,因此前端工程化在HTML5移动应用开发中同样有着重要意义,可以避免大量重复性的工作,提供效率和质量,优化产品的性能. 目前前端工程化比较通用的框架主要有国外的grunt,gulp,百度的F.I.S等,这些框架基本上都是基于Node.js实现的(百度的F.I.S最早是基于PHP开发的,后来切换到Node.js).Node.js对前端工程师有着非常强的亲和力,有各

论前端工程化

在不知道什么时候,突然有人提起前端工程化这东西,一开始觉得又是某个大神故意提起的高深词汇,专门来吓唬人的. 继而我疯狂查找了很多的资料,在接近二十篇的相关资料,每一篇文章都写得神乎其神,大有唯我独尊的意味,但每篇看下来,总感觉不对经--就是大家都把自己一套比较规范的开发套路充当出前端工程化,前端工程化变成了前端优化,让人看了,"对啊,这样做规范多了,优化不错啊,巴拉巴拉",但又觉得工程化不应该只是这些,像缺什么,让人看得云里雾里,似懂非懂.这种文章虽不算误人子弟,但讳莫如深,妖魔化了前

到底是什么是前端工程化、模块化、组件化

引言 提到前端往往很多人的映像就是入门简单,HTML.CSS加一起一个星期基本上就能大概上手,JS难一点但也能很快写一些简单的小效果,在网上随便一搜索各种特效代码随意用,一个新手前端也能在很短的时间里写出炫酷的页面效果,然而入门简单并不意味着前端这碗饭很好吃,做惯了切图.布局.扣特效的前端新同学在向前发展的路上越来越觉得吃力,而没有任何编程思想和软件开发基础很多人对前端工程化.组件化.模块化.MVC这些"高大上"的词汇云里雾里.本文用最简单的语言介绍一下我对工程化.组件化.模块化的理解

论前端工程化(转载)

在不知道什么时候,突然有人提起前端工程化这东西,一开始觉得又是某个大神故意提起的高深词汇,专门来吓唬人的. 继而我疯狂查找了很多的资料,在接近二十篇的相关资料,每一篇文章都写得神乎其神,大有唯我独尊的意味,但每篇看下来,总感觉不对经--就是大家都把自己一套比较规范的开发套路充当出前端工程化,前端工程化变成了前端优化,让人看了,"对啊,这样做规范多了,优化不错啊,巴拉巴拉",但又觉得工程化不应该只是这些,像缺什么,让人看得云里雾里,似懂非懂.这种文章虽不算误人子弟,但讳莫如深,妖魔化了前

前端优化带来的思考,浅谈前端工程化

重复优化的思考 这段时间对项目做了一次整体的优化,全站有了20%左右的提升(本来载入速度已经1.2S左右了,优化度很低),算一算已经做了四轮的全站性能优化了,回顾几次的优化手段,基本上几个字就能说清楚: 传输层面:减少请求数,降低请求量执行层面:减少重绘&回流 传输层面的从来都是优化的核心点,而这个层面的优化要对浏览器有一个基本的认识,比如: ① 网页自上而下的解析渲染,边解析边渲染,页面内CSS文件会阻塞渲染,异步CSS文件会导致回流 ② 浏览器在document下载结束会检测静态资源,新开线

58到家周俊鹏:webpack PK fis,实现前端工程化我更喜欢前者

责编:陈秋歌,关注前端开发领域,寻求报道或者投稿请发邮件chenqg#csdn.net. 欢迎加入"CSDN前端开发者"微信群,参与热点.难点技术交流.请加群主微信「Rachel_qg」,申请入群,务必注明「公司+职位」.另可申请加入CSDN前端开发QQ群:465281214. 2016年,SDCC(中国软件开发者大会)相继走进了上海.深圳.成都.杭州各地.11月18日-20日将在北京完美收官.作为大会的重要分专题,前端开发专题已邀请到58到家高级前端工程师周俊鹏担任大会讲师,现场将分

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

本文样例代码 :https://github.com/demohi/learning-gulp 本文主要简单介绍一下基于gulp和webpack的前端工程化. 技术栈 React.js reFlux Node.js 我们的需求 基于CommonJS模块化开发 基于React.js的组件化开发(JSX) 为保证组件的复用,css需要打包到js中 有国际化需求,静态文件需要部署在CDN上面 工程化工具的选择 gulp(基于stream的构建工具,与grunt相比,速度快且可编程) webpack(前

前端优化带来的思考,浅谈前端工程化【转】

重复优化的思考 这段时间对项目做了一次整体的优化,全站有了20%左右的提升(本来载入速度已经1.2S左右了,优化度很低),算一算已经做了四轮的全站性能优化了,回顾几次的优化手段,基本上几个字就能说清楚: 传输层面:减少请求数,降低请求量执行层面:减少重绘&回流 传输层面的从来都是优化的核心点,而这个层面的优化要对浏览器有一个基本的认识,比如: ① 网页自上而下的解析渲染,边解析边渲染,页面内CSS文件会阻塞渲染,异步CSS文件会导致回流 ② 浏览器在document下载结束会检测静态资源,新开线

谁妖魔化了前端工程化

在不知道什么时候,突然有人提起前端工程化这东西,一开始觉得又是某个大神故意提起的高深词汇,专门来吓唬人的. 继而我疯狂查找了很多的资料,在接近二十篇的相关资料,每一篇文章都写得神乎其神,大有唯我独尊的意味,但每篇看下来,总感觉不对经--就是大家都把自己一套比较规范的开发套路充当出前端工程化,前端工程化变成了前端优化,让人看了,"对啊,这样做规范多了,优化不错啊,巴拉巴拉",但又觉得工程化不应该只是这些,像缺什么,让人看得云里雾里,似懂非懂.这种文章虽不算误人子弟,但讳莫如深,妖魔化了前