前端如何部署一个项目

BI系统实际项目开发设置

Posted by     BY Devin on November 20, 2017

前言

规范项目中细节(命名,结构,分类)能够有效的开发与维护

前后端分离

优点:

  • 前端与后端能够独立开发,依赖性减低,提高效率

  • 实现设计模式高内聚低耦合

路径构造

样式结构设计规范

CSS/HTML在项目中合理规范使用,能提高开发,便于维护,提高性能;

1.根据样式类型、风格拆分多个CSS独立文件

2.使用SASS/LESS函数式编写,提高开发效率防止冗余;

3.样式命名规范:类型 + 组件名称 , 例如:ajax-init-load

4.HTML结构层级扁平化及使用合理使用语义化标签;

5.组件化设计( 较重要 )

橙色部分:每个页面都依赖的导航栏

蓝色部分:过滤表单类型独立成一个组件,按需求添加删除

绿色部分:根据所需类型引用数据图表

响应式设计的框架Bootstrap,可结合以上的规范使用:样式的命名及用法需要了解Bootstarp规则,否则会产生一堆冗余的CSS。坚持原则是有内置用内置,没有内置,创建时也需规范名字(语义化命名),尽量考虑公用型;

模块化Javascript

模块化对于项目是较为重点部分

1.设计初始明确分析关联JavaScript,如加载事件、Ajax事件、表单提交等统一规范;

2.JavaScript可以参考CSS进行分类多个JS文件,可以按照公共JS、AJAX、插件类、业务逻辑等分类;

3.插件进一步封装达到使用简单便于维护,该项目采用的是HTML标签CLASS驱动插件,自定义属性控制对应的业务逻辑;

结构

以public.js为例

黄色部分:项目所有公共javascript模块

橙色部分:AJAX获取后台数据

蓝色部分:Document初始化载入

橙、黄色部分为定义函数,而蓝色部分则为初始化执行函数;$(document).ajaxStop()则为每次Ajax完毕后调用;

CLASS驱动、自定义属性

initDelete为例

注意initSwal引用

因为这是全局调用,所以无需Class驱动,参数title, text, type, callback分别代表标题、内容、类型、点击后回调,这样我们封装完毕后每次饮用就很方便了,细腻的人已经发现window.BI = window.BI || {},我把插件都放置在一个人BI对象内,这样有效维护不容易混乱;

Gulp打包

参考我的博客另一篇文章Gulp构造工具使用

这里另外需要gulp-concat分别把多个CSS/JS合并各自单一文件