最近使用express+ jade + mongodb做了个小练习,使用的jade模板引擎在渲染数据时需要在页面代码中嵌入js逻辑代码,个人很不喜欢这种开发模式,所以想问一下使用node如何实现前后台的完全分离?
最近使用express+ jade + mongodb做了个小练习,使用的jade模板引擎在渲染数据时需要在页面代码中嵌入js逻辑代码,个人很不喜欢这种开发模式,所以想问一下使用node如何实现前后台的完全分离?
通过 express + mongodb 可以将 URL 映射到数据库
———— 换言之,URL是数据的指针。
在 express + mongodb 技术上再加一层 jade 意味着,数据要流经 jade,跟模版耦合成 html 数据流 之后通过response返回给客户端
前后端分离,在于从数据库里取出来的数据是直接返回在 response
或者经过模版引擎处理后再返回。
( 体会下: res.json
和 res.render
)
我前一段时间刚搞了一个,不知道算不算前后端分离,我也是第一次搞这个,公司也没人知道该怎么搞,然后就自己摸索着弄了一下。
用的是express+ejs,跟你的express+jade差不多。
接口是原来就有的,我们原来的项目是这样的,前端页面通过ajax从接口获取到数据后渲染,非服务端渲染,所以接口还是那些接口,就前端渲染改成了服务端渲染。
用express编写route、controller,通过controller向原来的接口请求页面的初始数据,然后view里面用ejs填充模板,前端页面里后续的数据交互依旧通过ajax进行。controller里面要把接口给的数据处理一下,view里面肯定还是要有一些js逻辑的,不过这是用ejs的语法的js,比如for、if什么的,这填充模板的时候肯定需要用到。
当然,请求数据时需要自己封装好,我这里分成了controller里面的请求和前端页面自身的ajax请求。其实页面里的请求就是由node封装,然后转发一下。
其实就是把之前jsp的那种改成了模板由前端开发、数据填充也由前端了弄。
10 回答11.2k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答2.7k 阅读✓ 已解决
3 回答2.3k 阅读✓ 已解决
3 回答2.2k 阅读✓ 已解决
2 回答2.6k 阅读✓ 已解决
前后端分离页面中也得嵌入
js
代码啊,前端要跑的逻辑肯定还是得跑,express
+jade
已经做到了服务端渲染,通过数据渲染模版产生前端内容,前端再跑相对应的前端逻辑,这样已经算是完全分离了。