`
hdfyq
  • 浏览: 50662 次
  • 性别: Icon_minigender_1
  • 来自: 厦门
文章分类
社区版块
存档分类
最新评论

【转】前端开发流程自动化

 
阅读更多

【原帖地址】http://www.programmer.com.cn/5770/

 

 

如今前端工程师需要维护的代码变得极为庞大和复杂,代码维护、打包、发布等流程上浪费的时间精力也越来越多。精简流程、提高效率,是每一个前端团队都会遇到的问题。大部分前端团队使用Ant脚本进行这一系列流程的自动操作。

使用Ant

Ant主要用于代码构建、打包、部署的自动化操作。早先主要用于Java开发,但由于它具有接口开放、便于配置、Java跨平台等特性,在前端流程自动化方面同样可以发挥强大的功用。

代码检验:Ant + JSLint

JSLint是最常用的JavaScript代码检验工具,它使用JS实现。Ant提供了scriptdef标签,可以直接解析JS脚本,但需要对 JSLint代码进行一些修改,以便于控制台输出。也可以使用jslint4java等开源程序,或通过Rhino等JS解析器方便地进行自动化代码检 验。

文档生成:Ant +JsDoc Toolkit

JsDoc Toolkit是基于JSDoc,使用JavaScript开发的JS文档生成工具。开源工具JsDoc Toolkit Ant Task对JsDocToolkit进行了简单封装,可供Ant调用生成文档。

打包合并:

Ant文件合并可以使用A n t 内置的concat标签实现。代码压缩可用Ant +YUI Compressor实现。

测试环境部署

使用Ant原生的copy标签,可以将本地代码复制到局域网内的ftp目录。也可使用开源工具JSch进行SCP操作。

SVN提交:Ant + SvnAnt

SvnAnt是一个开源工具,提供了SVN、CVS的Ant调用接口,实现了基本所有的版本库操作的Ant调用方法,能方便地进行自动提交。

最佳实践

建立一站式的自动化流程,建议使用单一的Ant构建文件;确保每个子任务的清晰、独立,子任务可以通过添加描述来显示操作进度和信息;Ant配置文件可以在头部定义变量和路径,以便于修改维护;可以使用分支、循环等技巧实现更丰富的自动化
流程控制。

此外, 要注意中文编码, 合并等操作需要通过指定文件编码:encoding=“UTF-8”;有时需要对JS文件中的字符进行ASCII化,可以使用内置的native2ascii标签进行操作。

结语

以上是使用Ant进行前端流程自动化的简单思路,高度集成的自动化操作会产生一些不灵活的情况。例如区分页面、应用的文件打包调用,目前淘宝的许多页面已经使用CDN Combo,用动态合并代替静态打包文件,具体的应用还要视场景灵活选择。

作者简介:刘洋洋 (花名额台),淘宝网前端开发工程师,负责淘江湖及相关产品的前端开发工作。

(本文来自《程序员》杂志11年04期,更多精彩内容敬请关注04期杂志)

分享到:
评论

相关推荐

    前端性能优化与自动化pdf

    随着前端在项目开发中的比重逐渐加大,原有的作坊式开发已不能满足发展的需要,集成化、自动化自然就成为了前端流程的必由之路。国内鲜见成熟的前端自动化实践分享,口碑无疑在这个领域作出了示范和表率,为口碑鼓掌...

    基于gulp的前端自动化开发环境.zip

    前端开发的流程主要包括: 需求分析:明确网页或应用程序的功能、目标用户、界面风格等。 项目规划:制定详细的项目计划,包括制定项目的时间表、任务分配和前端技术选型等。 设计阶段:进行网页或应用程序的设计...

    一个简单的前端开发脚本示例,用于自动化构建和压缩前端项目中的JavaScript文件

    说明: 这是一个bash脚本,需要保存为.sh文件,例如build.sh。 ...在大型项目中,你可能会使用构建工具(如Webpack、Rollup)来自动化构建过程,并配置相应的加载器、插件等来满足项目的具体需求。

    基于nodejs和gulp搭建的前端自动化流程工具

    fetool将前端开发人员日常工作整合起来,并提供浏览器多端实时预览功能,能够用于辅助团队规范开发,提高团队的工作效率。

    jQuery2.0应用开发SSH框架整合jQuery2.0实战OA办公自动化

    本课程全面详细的介绍jQuery2.0以及OA办公自动化系统的开发流程。其中重点详细的介绍了jQuery2.0的新特征以及operamasks前端UI框架。从系统数据库分析到系统角色权限,从功能到业务流程。介绍整个OA办公系统的开发...

    front-end-workflow:前端开发工作流程的样板

    前端工作流是前端开发人员自动化前端开发工作流的样板。 Front-End Workflow 不是一个框架,也不会为您提供任何自动编码。 而是帮助您处理每个前端开发人员在开发项目时面临的所有重复任务。 因此,它让您可以更自由...

    cssgaga前端开发和部署利器

    CssGaGa是一个前端开发和部署的工具,它可以简化我们的开发流程,将主要精力放在页面的实现中,而不用花太多的时间在处理图片、压缩文件、转换DataURL等耗时的琐事上,更不用浪费时间在文件部署上,用CssGaGa可以...

    停不下来的前端,自动化流程

    切图,即从设计稿中获取需要的素材,并不是所有前端开发都被要求切图,也不是所有前端开发都会切图,但请享受学习新知识的过程吧。创建模版(html、jade、haml)、脚本(javascript、coffeescript)、样式(css、...

    经典 oasys(OA自动化办公系统)

    基于springboot框架开发的项目,mysql底层数据库,前端采用freemarker模板引擎,Bootstrap作为前端UI框架。 集成了jpa、mybatis等框架。作为初学springboot的同学是一个很不错的项目,如果想在此基础上面进行OA的...

    Java毕业设计-基于ssm框架开发的小型企业办公自动化系统的设计和开发+vue-毕业论文(附源代码).rar

    本资源包是一个基于SSM(Spring+SpringMVC+MyBatis)框架开发的小型企业办公自动化系统的完整毕业设计项目,同时结合了前端Vue.js框架,实现了前后端分离的现代化开发模式。该项目旨在通过办公自动化系统,提升小型...

    前端学习,从入门到精通,进阶好教程

    前端学习从入门到精通,需要掌握以下内容12: 入门阶段: ... JavaScript基础:掌握JS的基本语法、条件、语句、循环等,学会常用算法,增强逻辑...前端自动化:学习前端自动化工具和流程,例如Grunt、Gulp、Webpack等。

    自研流程设计,可视化界面与人性化设计,丰富的拖拽控件,基于流程图实现自动化.zip

    包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。 包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、python...

    2019年python自动化运维进阶篇20期视频教程-百度网盘下载视频

    2019年python自动化运维进阶篇20期视频教程,百度网盘下载视频。 课程目录: ├─01第一天 │ 01.drf vue分享.mp4 │ 02.课程简单介绍.mp4 │ 03 helloworld.mp4 │ 04 httpRequest对象与httpResponse对象.mp4 │ ...

    frontend-workflow-gulp:使用Gulp和Node Package Manager进行前端开发的完整工作流自动化

    前端开发工作流程自动化 使用Gulp和Node Package Manager进行前端开发的完整工作流自动化 指令 npm运行构建npm运行发布npm运行服务器npm运行干净 先决条件 Node.js v15.0.0 + 锐利修复 npm卸载expo-cli -g npm ...

    基于Python与多技术栈的Mogui自动化部署系统源码

    该系统融合了前端技术如JavaScript、CSS、Vue以及后端Python编程,实现了高效的自动化部署功能。源码包含共681个文件,其中具体文件类型分布为:JavaScript文件328个,CSS文件187个,Vue组件文件83个,Python脚本20...

    workflow:使用 Pugjs、PostCSS 和 Snowpack 的现代前端工作流程

    前端现代工作流 这是对旧工作流程的全面改造,从头开始重写,比原始版本的依赖要少得多。...使用 BrowserSync 初始化开发服务器。 当资产发生变化时自动刷新并重新加载浏览器。 使用 pug 构建 HTM

    Gulp前端自动化构建工具

    Gulp自动化构建工具可以增强你的工作流程! 易于使用、易于学习、构建快速、插件高质! 在日常开发中,可以借助Gulp的一些插件完成很多的前端任务。 如:代码的编译(sass、less)、压缩css,js、图片、合并js,css...

Global site tag (gtag.js) - Google Analytics