前后端分离项目实践分析

in 编程
关注公众号【好便宜】( ID:haopianyi222 ),领红包啦~
阿里云,国内最大的云服务商,注册就送数千元优惠券:https://t.cn/AiQe5A0g
腾讯云,良心云,价格优惠: https://t.cn/AieHwwKl
搬瓦工,CN2 GIA 优质线路,搭梯子、海外建站推荐: https://t.cn/AieHwfX9

一、前言

二、为何做分离

三、如何做分离

alt text

javascriptNginx.conf:
     Location ~ \.(jpg|png|css|js ){ //静态资源代理
          Root /root/static/;
     }
     Location \{ //其它接口转发
     Proxy_pass http://upopen.cn;
}
…
Upsteam upopen.cn{
     Server http://node.upopen.cn;
}
javascriptCore:[核心模块,主要是引入第三方必用、稳定模块]
     Base.js [自定义通用函数]
     Require.js
     Jquery.js
     Bootstrap.js
     Backgone.js
     Socket.io.js
     I18n.js
     …
Public: [业务级公共模块]
     Validate.js [表单验证模块]
     All.js [所有页面需要执行的业务js,如登录验证]
     Zhdoc.js [国际化文本定义]
     Reset.css [样式初始化]
     common.css
     …
Widget: [自定义组件]
     Dialog: [弹框组件]
          Dialog.js
          Dislog.css
          Imgs: [弹框组件图片]
     Calendar:[日志组件]
          Calendar.js
          Calendar.css
          Imgs: [日历组件图片]
     …
Module: [业务模块]
     Issue: [静态模块]
          Index: [首页]
               Index.js
               Index.css
               Imgs:
          news: [新闻]
               news.js
               news.css
               imgs:
          …
     User: [用户模块]
          Register: [注册]
               Register.js
               Register.css
               Imgs:
          findPwd: [找回密码]
               findPwd.js
               findPwd.css
               imgs:
          …

Nodejs结构主要如下: express 框架

javascript
App.js Package.json Node_modules: Routes: Index.js – 路由入口,接收所有请求做转发,并做权限过滤、404等 Issue.js – 接收来自index.js的静态请求 User.js - 接收来自index.js的用户请求,页面请求render,数据请求转发 … Views: [使用ejs框架,接收来自 routes 里的页面请求] Common: [公用模块页] Header.ejs Footer.ejs … Issue: [静态模块页] Index.ejs News.ejs … User: [用户模块页] Register.ejs findPwd.ejs … Controls: [业务逻辑模块] Config.js –公共配置模块,如hostIP、basePath等,切换环境修改此配置 User.js - 接收来自 route/user.js的数据请求,向外转发做逻辑准备 Tool.js - 封装常用函数如http.request/mailer/md5等 Redis.js - redis封装,对于单体封装内容比较多的模块,单独成立一个文件 … Log: [日志,采用Log4js,日志是必须的,页面开发者常欠缺日志理念] Assets: 结构、使用同 STATIC,不配置nginx时,调用此处资源,意义不大 … Nodejs + MySql: [模拟后台模块,相对上面的模块,主要多了DB] Db: [数据处理模块] Mysql.js – 封装模式化数据存储接口,提供最便捷的新增表、接口的方法

四、分离结果如何

五、注意事项:

六、总结:

全栈工程 - 技术新Q群:435485569

下一篇:公司项目NODEJS实践0.1[ ubuntu,nodejs,nginx...]

关注公众号【好便宜】( ID:haopianyi222 ),领红包啦~
阿里云,国内最大的云服务商,注册就送数千元优惠券:https://t.cn/AiQe5A0g
腾讯云,良心云,价格优惠: https://t.cn/AieHwwKl
搬瓦工,CN2 GIA 优质线路,搭梯子、海外建站推荐: https://t.cn/AieHwfX9
扫一扫关注公众号添加购物返利助手,领红包
Comments are closed.

推荐使用阿里云服务器

超多优惠券

服务器最低一折,一年不到100!

朕已阅去看看