前端架构设计分析

2016-07-22  本文已影响1008人  易则知

水木资本网 www.svmuu.com

SvmuuWeb

SvmuuWeb是针对PC端开发搭建的工程化架构

目前系统平台发现的问题

目的----提升性能和编码效率,便于管理及后期维护扩展

工程化 | 模块化 | 组件化 | 规范化

采用的技术栈

文件大小

 Backbone.js            6.5
 RequireJs               96kb
 jquery                  84kb

介绍说明

目录介绍:

--架构目录

svmuu
    └── dist
    └── grunt
    │    ├── clean.js
    │    ├── connect.js
    │    ├── copy.js
    │    ├── watch.js
    │    ├── ...
    └── documents    
    └── node_modules
    └── src 
    └── .bowerc 
    └── bower.json
    └── Gruntfile.js 
    └── package.json
    └── README.md

--开发环境目录

    src
     └── data 
     └── frm
     │    ├── base
     │    │    ├── jquery
     │    │    ├── requirejs
     │    │    ├── backbone
     │    │    ├── ....
     │    │ 
     │    ├── static
     │    │    ├── css
     │    │    ├── js
     │    │    ├── images
     │    │    ├── html
     │    │ 
     │    ├── locale
     │    │    ├── ...
     │    │     
     │    ├── third-part
     │    │    ├── ...
     │    
     └── modules
     │    ├── chatroom
     │    │    ├── js
     │    │    ├── tpl
     │    │    ├──index.html
 

--打包目录

/dist
    /frm
        /base
            /smft.min.js
            /common.js
            /require.min.js
        /static
            /css
            /images
            /js
            /temp
        /third-part
            /weditor
            /...
    /modules
        /common
            /workman
            /
        /chatroom
            /js
                /page.js
        /...

安装编译

环境准备

安装设置环境

下载安装node

安装grunt命令

npm install -g grunt-cli

安装bower命令

npm install -g bower --save

安装工具插件

npm install -g copy --save
...       

安装依赖js库

npm install -g requirejs --save
...

运行部署命令

- 运行:grunt start
- 打包部署:grunt build
- ...

使用示例

典型的index页代码

<!DOCTYPE html>
<!--[if !IE]><!-->
<html>
<!--<![endif]-->
<head>
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <meta name="renderer" content="webkit">
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <meta name="description" content="">
    <meta name="author" content="">
    <title>标题</title>
    <link href="frm/libs/dist/css/svmuu-default.min.css" rel="stylesheet">
    <script type="text/javascript" src="frm/libs/dist/js/svmuu-all.min.js"></script>
</head>

<body>

</body>
<script data-main="svmuu/chatroom/js/main" defer="defer" src="frm/requirejs/require.js"></script>
</html>

Important

  1. <!DOCTYPE html>声明是必须的,此声明必须位于第一行,此声明之前不能出现任何内容(包括空格),否则浏览器无法检测。
  2. 针对IE的注释是必不可少的;
  3. X-UA-Compatible元标签的配置是必不可少的,尤其是针对IE的配置,可以强制IE使用“标准模式”渲染页面,而不是以“怪异模式”;
  4. renderer元标签用来兼容国产的一些垃圾双核浏览器,如360等,强制它们以chrome内核渲染页面;
  5. viewport元标签用来支持响应式设计;
  6. svmuu-default.min.css 为系统平台公用css压缩文件;
  7. svmuu-all.min.js 为系统平台公用js压缩文件;
  8. data-main 为模块化加载的入口文件配置;
  9. ...

组件库

优化方面

编程规范方面


随着公司业务的增加及成熟,会持续调整并完善前端框架,优化前端开发环境及业务合理化,代码可维护性,扩展性,网站性能等方面持续改进。

《未完待续...》

上一篇 下一篇

猜你喜欢

热点阅读