angularjs 结合 nodejs 开发前后端的一些探索和思考

angularjs是近年很火的一个前端MV*架构,拥有良好的社区,文档支持,在设计上使用沙箱模式,并且实现了注入依赖,提供了非常好的代码测试。今年在github上关于angularjs的插件也是层出不穷。本人也将angularjs使用在若干个实际的项目上,个人感觉,如果有使用jquery及相关插件经历的同学,可能会在使用上有一些不适应,但是整体说了,入门还是不是特别的难,不过当遇到问题的时候,建议在angularjs的社区或者stackfollow中找找,或者是看看angularjs的源码。

nodejs近年在服务器端也是相当的火爆。基于v8引擎,基于事件驱动,社区、文档支持都很好,而且node在并发方面的性能确实不错,本人在接触node的时候层参考过阿里的一份关于node性能测试分析。自己也动手做了一些测试,性能确实不错。

由于项目的需要,本人实际参与做过若干关于angularjs+nodejs的开发,从开发部署的角度去看,后期的项目中,本人将基于angularjs搭建的前端项目和基于nodejs搭建的后端服务分开,用户访问的入口是前端静态页面,nodejs搭建的后端服务提供REST API,通过xhr事项前端和后端的交互,起初看起来这时一个不错的松耦合架构,而且对于前后端的开发也确实是非常的便利,但是这种架构有一个问题--跨域。跨域的问题,我们可以通过在服务器端配置Access-Control-Allow-Origin,Access-Control-Allow-Headers,Access-Control-Allow-Credentials,Access-Control-Allow-Methods,在前端的xhr请求中添加withCredential=true的配置,起初楼主也以为问题就可以这样解决,但是,当将前端服务和后端服务放在不同的服务器上时,在部分的浏览器(楼主用的是chrome34.0)中发现cookies信息无法保存的问题,事实上,这个问题也是现在大家讨论的关于session auth和图token auth的问题,当然后面的token auth能够解决前面所说的cookies信息不保存的问题,不过token auth的方式也非完美,也存在着这样那样的问题。个人感觉,前端与后端的分布式开发是以后的趋势,不过现在已经有一些比较好的方案,如passport,但是离实际的生产环境还有一定的距离吧。

下面楼主分享一下个人比较推荐的基于angular搭建的前端架构,如下图:

有什么说的不对或者是需要一起交流,请各位大侠不吝赐教

时间: 2024-10-06 12:27:44

angularjs 结合 nodejs 开发前后端的一些探索和思考的相关文章

也谈基于NodeJS的全栈式开发(基于NodeJS的前后端分离)

随着不同终端(Pad/Mobile/PC)的兴起,对开发人员的要求越来越高,纯浏览器端的响应式已经不能满足用户体验的高要求,我们往往需要针对不同的终端开发定制的版本.为了提升开发效率,前后端分离的需求越来越被重视,后端负责业务/数据接口,前端负责展现/交互逻辑,同一份数据接口,我们可以定制开发多个版本. 这个话题最近被讨论得比较多,阿里有些BU也在进行一些尝试.讨论了很久之后,我们团队决定探索一套基于NodeJS的前后端分离方案,过程中有一些不断变化的认识以及思考,记录在这里,也希望看到的同学参

基于NodeJS的全栈式开发(基于NodeJS的前后端分离)

也谈基于NodeJS的全栈式开发(基于NodeJS的前后端分离) 前言 为了解决传统Web开发模式带来的各种问题,我们进行了许多尝试,但由于前/后端的物理鸿沟,尝试的方案都大同小异.痛定思痛,今天我们重新思考了“前后端”的定义,引入前端同学都熟悉的NodeJS,试图探索一条全新的前后端分离模式. 随着不同终端(Pad/Mobile/PC)的兴起,对开发人员的要求越来越高,纯浏览器端的响应式已经不能满足用户体验的高要求,我们往往需要针对不同的终端开发定制的版本.为了提升开发效率,前后端分离的需求越

前后端分离(二)淘宝基于NODEJS的前后端分离

FRONT-END SKILLS 中间件定制平台 "中间件定制平台"项目中用到的SKILLS 前端工程 1,纯静态的前台工程,不依赖web server,可独立工程.独立开发 2.开发过程使用JSON file/MockJS,通过配置切换Angular Service数据源 12345 window.__service.factory('templateRES',function($resource) {var url = framework.getFinalURL('api/temp

基于NodeJS进行前后端分离

1.什么是前后端分离 传统的SPA模式:所有用到的展现数据都是后端通过异步接口(AJAX/JSONP)的方式提供的,前端只管展现. 从某种意义上来说,SPA确实做到了前后端分离,但这种方式存在两个问题: WEB服务中,SPA类占的比例很少.很多场景下还有同步/同步+异步混合的模式,SPA不能作为一种通用的解决方案. 现阶段的SPA开发模式,接口通常是按照展现逻辑来提供的,而且为了提高效率我们也需要后端帮我们处理一些展现逻辑,这就意味着后端还是涉足了view层的工作,不是真正的前后端分离. 现阶段

全程真实数据对接 带你从0开发前后端分离的企业级上线项目

<ignore_js_op> 第1章 课程介绍(2018配套教程:电商前端+电商后端+电商权限管理系统课程)本章中会先让大家了解课程整体情况,然后手把手带大家做一些开发前的准备工作.后台管理系统测试账号和密码(切勿修改,导致其他同学体验不了)        账号:admin 密码:admin (Java一期课程ID:96,Java二期进阶课程ID:162,权限系统课程:ID:149,http://coding.imooc.com/class/XXX.html ,访问时将前面网站中的XXX换成.

web开发-前后端分离原理

前言 前后端分离已成为互联网项目开发的业界标准使用方式,通过Nginx+Tomcat的方式(也可以中间加一个Node.js)有效的进行解耦,并且前后端分离会为以后的大型分布式架构.弹性计算架构.微服务架构.多端化服务(多种客户端,例如:浏览器,车载终端,安卓,IOS等等)打下坚实的基础.这个步骤是系统架构从猿进化成人的必经之路.核心思想是前端HTML页面通过Ajax调用后端的restuful api接口并使用json数据进行交互. 在互联网架构中,名词解释: Web服务器:一般指像Nginx,A

React第六篇: 搭建React + Router + antd + nodejs + express框架搭建(nodejs做前后端server)

前提: nodejs >= 10.0;  这里不推荐用官网的yarn安装antd的模块,因为后续会出错,错误如图: 也不推荐用npx方法来搭建react骨架,也会出错,让我们开始吧!!   前端React+Antd框架搭建 1.安装并启动create-react-app骨架应用 打开cmd按顺序执行以下指令: npm install -g create-react-app   (全局安装create-react-app, 默认会安装在C盘个人用户下) create-react-app my-ap

对开发-前后端的理解

<写在前面的话:请忽略> 很久没有写博客了,因为现在换了方向,总感觉突然写别的话题会很唐突.从一个在校学生转变为职场的程序媛,感觉变化还是很大的(指的是从事的方向):从前我只要关注研究的点就好,把道理理清楚,然后去学习其中的思想,比如(在这之前)我最后写的一个是SDN相关的,有一些文章是讲的以前做的项目相关,关系到linux内核DCB模块,应用程序和内核交互的netlink方式和虚拟化等.项目中重要的是怎么去用,而研究中是怎么去在前人的基础上创新,那么,现在到底是怎么一回事..我想就要从这个文

Spring Boot企业级开发前后端分离博客系统+Thymeleaf实战+Jpa数据持久化实战+全文检索实战+架构设计与分层+API设计

前端项目名为wh-web后端项目名为wh-server项目展示地址为我的github pages(https://smallsnail-wh.github.io)用户名:admin,密码admin(第一次启动会比较慢)项目建构简单介绍: 数据库设计 用户表sys_user:存储用户基本信息.角色表sys_role:存储不同的角色.菜单表sys_menu:存储菜单信息.用户和角色关系表r_user_role:存储用户和角色的关系. 逻辑是sys_user表通过id关联r_user_role表得到对