广告贴。谈谈自己在前后端开发解耦上的一些想法和尝试。欢迎讨论欢迎拍砖。 http://spud.in/2013/02/10/flow-solution-of-front-back-end-development/
怎么认证都是http请求里包含的东西,express和request已经把操作包装得足够简单了我认为。
其实无非就是登陆之后服务端返回的请求中包含setCookie头,对其做合适的修改,就能应用于代理服务中。
一般来讲,大多数做得比较简单的网站,用一个cookie就可以伪造用户登录,那么在测试环境中登录后拿过来放到模拟的请求中即可。比如我在cnodejs这里,用chrome的inspector查看document.cookie,把结果记下来,换到safari再贴过去,就可以伪造登录了。
当然这是很容易破的,复杂一点,cookie可能是由一些用户信息,比如用户id,ip,比如ua等一起加密算出来的。这样就会比较难模拟了。
不过我也觉得自己的这个方案,不是很适合post,put等一类的请求,纯get取数据的就比较合适,且一般也无需用到身份认证。
我也来借此宝地 说下我的尝试吧~~
我们项目组后端使用的是JAVA,Freemarker模板引擎,开发流程是由前端做好静态页面 ,交由后端去改造成ftl模板文件,这过程中需要后端了解HTML,并且涉及到一些AJAX效果,还需要它们来改JS。
这样做的一些问题就不多说了。后来,我试着做了些尝试,并用nodejs和JAVA写了一个小工具:FED, 基本都是工作之余写的,不过已经开始尝试用它了。
FED最初主要是想用它来完成Freemarker模板的调试,这样可以由前端直接写FTL模板,后端只负责提供数据和接口即可,不再需要修改前端的HTML及JS文件。
后来慢慢添加了一些其它功能,比如反向代理(主要为方便前端开发人员调试页面),输出与后端的接口文档(基于代码注释)等。
现在已经在慢慢应用于实践,FED还在不断完善中,欢迎大家拍砖,一起探讨。
公司先前在做一个项目的时候,之前是没有完全前后端分开,做到1/3的时候,前后端完全分开了。然后前端这边一下子压力山大,擦。之前没搞过,我是新手。突然一大堆数据要我前端来渲染,真是坑苦了我。但是还是缓过来了。就是在手机端会有一些小问题。就是发现如果用前端来渲染模板的话,有些手机会渲染不出来页面。得刷新一下,后来用异步加载JS的方式解决了。
@ijse 我觉的你的想法是好的,可是你想下,要是后台都只提供数据和接口了,那么对于前端来说,模板就那么重要了吗?我想应该是控件更重要一些。比如用ExtJS来开发的项目,基本没界面的。使用模板也只是部分功能需求上使用。