本工程为使用nodejs进行前后端分离的一个项目:
node负责:
- 网络请求处理
- 将请求转发给后端服务
- 处理从后端服务返还的数据,页面渲染服务,静态资源服务
...
后端负责:
- 接收node端转过来的请求,并处理返还数据给node端
- 处理负责逻辑运算,操作DB,获取数据
...
特点: 分工明确,去除了以前前后端交叉的部分
- 数据及页面渲染,静态资源服务,统一交给前端
- 后端功能统一服务化,提供接口给前端
- 前后端开发并行分离,前端开发所需要的数据可以经由node来新建一个mockServer,借由本地json完成
...
缺点:
- 同一工程,需要起两套服务,一套node的,一套后端的
...
该‘代理转发方式实现前后端分离’借鉴:jinze的方式,该方式已经在pop项目中得到很好的应用
详情 <<基于代理转发的前后端分离开发>>
- node安装,git安装
git clone %ssh-linkl%
cd %your_local_project_dir%
npm install
cd app/public
npm install
说明:主程入口在app/app.js,常规启动可以启动:
//常规启动,非热部署,不推荐
node app/app.js
不推荐这种原始方式,可以使用如下的系列指令进行日常开发
//先进到app/public文件夹之下
cd app/public
npm run mockserver
一个模拟后端接口的服务
npm run hotserver
热启动之后,更改app/文件夹之下(除开app/public/)的文件夹里的文件,不用再重新启动
npm run mcss
启动后,帧听src/mcss中的*.mcss文件,并输出到src/css目录
npm run pack
启动后,帧听src/javascript中的*.js文件,并输出到dist/目录
注意点:
启动主程序之前,请确保已经将 mcss 编译输出!
启动主程序之前,请确保已经将前端资源打包完毕!
npm run startdev
会同时启动上面的几个服务(mockserver,mcss,pack,hotserver),如果不想开多个窗口执行的话,这个是个不错的选择
localhost:8888/
localhost:8888/upload/image
IE9+(主要是前端web-ui部分采用了regular-ui),FF,Chrome
建议安装一个 Growl 程序(仅仅是为了打包提示时候,提示界面好看一些,没啥特殊功能功能,就是一个提示软件,不装也行)