- 前后端分离应该借助node,因为node可以拥有自己的服务(当然这不是使用node的原因,node本身拥有的高并发能力才是亮点),前后端各有自己的服务,前端服务处理前端的逻辑(相当于在后端之前有一套处理的东西,通过node的服务会有一些请求到我们的后端服务上),后端更加‘纯’的完成他们的工作(个人的理解更加专注于数据),这也是我们为啥要用前后端分离的原因之一,当然还有其他原因(比如并行开发,可以让模版代码更纯净不会掺杂业务代码)
- 前端负责control 和 view , 后端负责model,前端负责control的原因是因为当我们缺少了model的时候我们只要有自己的mock可以正常的把服务跑起来。
- 前端后端可以并行开发(当然你借助于mock网站来进行mock也是一样),前端有一套自己的mock数据,在开发环境下我们使用mock数据,这里我们要区分开发环境来决定我们什么时候来用前端的mock数据在我们的代码中可以借助process.env.NODE_ENV进行判断(production| development),通过
if(process.env.NODE_ENV === ‘production’) {
fs.. // 去使用mock数据
}
来使用mock数据。那么 process.env.NODE_ENV 的值如何写入或者决定呢?// 通过NODE_ENV来设置环境变量,如果没有指定则默认为生产环境
var env = process.env.NODE_ENV || 'production';
当我们本地开发的时候可以通过脚本文件进行操作
export NODE_ENV=development
我们只需要启动服务的时候将它运行。
- ...
- 推荐http://blog.jobbole.com/65513/ && http://www.infoq.com/cn/presentations/practice-of-mogujie-front-end-separation?utm_source=presentations_about_Front-end&utm_medium=link&utm_campaign=Front-end