前后端分离个人总结

现在的前端需要用的东西越来越多了。每间公司采用的技术不一样,每个人都有自己的一套开发流程以及开发架构。

现在前端的岗位职责我们可以看出,前端工作可以分为两种:一种是偏静态,即HTML、CSS开发,一种是偏交互,即JavaScript、前台逻辑和前后端交互。这两种工作对人的要求是相差很大的,偏静态的可以不涉及太多编程和逻辑,对视觉体验非常敏感、而后者对JavaScript要求较高、要有一定的编程能力、熟悉前后端协作模式、熟悉HTML和CSS、有一定的前端架构能力。

前后端分离

  尽管现在前端框架以及架构又或者技术包罗万有,作为一个前端,你可能需要懂Angulars;Nodejs;React;Backbone;Vue等等等一堆东西。想象一下这个场景多么美好:前端来决定某个模板是服务端渲染还是客户端渲染,当首屏的时候,就在nodejs里面生成HTML,不是首屏的时候,就AJAX过来在浏览器端渲染展示。

现阶段我在公司开发的就是采用Angular架构的一个架构,关键词叫:SPA(Single Page Application)也就是所谓的单页应用;切换页面或者场景的时候并不会跳转页面,只是去改变链接上的hash值,这个锚点由route监听到,从而就由前端实现了对URL的掌控,采用的前后端的分离,已经基本分的很清楚了,后台只管数据输出和业务逻辑处理,前端负责交互逻辑和界面展示,其他方面就需要前后端在接口的方面约定好,以避免不必要的麻烦。

项目目录结构

|--porjcet

    |--PC端

        |---js

               |--common

                     |--Ng-route.js

                     |--util.js

                     |--API.js

               |--controller

                     |--xxx.js

               |--lib

                     |--require.js 

                      |--jquery.min.js

                |--module

                    |--header.js

                    |--footer.js

        |---css

              |--xx.css

        |---html

               |--模块目录(根据项目需要划分模块)

                     |--个人页 xxx.html

               |--主页home.html

               |--列表页list.html

        |--index.html

             |--heaer.html

             |--container.html

             |--footer.html

    |--touch移动端

        |---js

        |---css

        |---html

目录说明

  模块划分目的在于促进复用,并行开发,以提升开发效率。现在把项目划分为4个目录

分别是:HTML;CSS;JS;IMG; 通过地址栏的URL做到按需加载;再在加载的同时进行模块化划分;把每个模块都加载到index里面的container; index.html只是一个容器,它是转载各模块的容器;

JS目录:

common目录:放置公用的文件;

           |--Ng-route  : 配置页面的唯一ID入口;根据当前地址栏的url进行配置相对应的模块ID进行按需加载HTML;CSS;JS

  |--util :全局方法;公用属性;一些公用方法、自己封装的插件都可以放到里面调用;

  |--API:顾名思义就是后端配的API数据文档


controller目录:放置处理对应页面数据以及逻辑功能的js文件


lib目录:放置插件库;Jquery;sea或者require 的公用插件库

module目录:需要进行对外提供接口依赖的文件;必须要对外提供接口:exports;到了需要依赖的目录文件就可以直接进行依赖

CSS目录:

   把每个模块的CSS都放里面;可做目录区分

HTML目录:

  对应每一个目录或者模块下的HTML文件;便于修改、查找;


这样配置项目有几个好处:

1. 极大的简化前端开发,减轻前端开发的压力;页面加载模式方法都是用AJAX去调用生成;

2. 实现了很好的前后端开发分离,前端开发工程师甚至不需要知道后端返回的数据格式,只需要知道请求地址即可执行开发;

3. 具有良好的可用性,即便是在客户端脚本出错的的情况下,系统基本功能都能够正常运行;

主要逻辑图:


各种架构模式都有自己的特点,身为一个前端工程师这些都是需要了解的,

然而,更重要的是,结合项目实际,灵活运用随机应变

各种库丰富多彩,它们也是为了解决那个阶段的问题而出现的。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,718评论 25 709
  • 晚上正在坐着,微信闪现出一条信息,很久没出现过的头像,打开一看,写着。 喜娃。 你好吗? 还好。 那就好。 拜拜。...
    刺客1990阅读 206评论 0 0
  • 一向喜欢简书的界面设计,没有多余东西,而且找什么都能找得着。不过今天想创建一个新的文集,找了半天没找到。 先在...
    黑白之间阅读 547评论 3 2