Render jade views with preCompile
$ npm install koa-jade-workflow (不会把这个提交到npm,忽略这个命令吧)
后续会托管提交到内部的gitlab上,现在想安装,跟我要代码 :)
- 实现真正的大前端 1. 打开网页,访客实际访问的是前端组提供的nodejs服务 2. 后端只做数据接口
- 前端团队自由可控的jade在线报错,支持jade官方标准语法
- 开发阶段基于测试机的liveRelaod
- 与后端基于fakeData 的同步开发,当后端api接口按约定开发完毕,自动用改api数据渲染jade。
- 前端可能比以前更累了(承担了服务端的部分工作)。但跨团队沟通应该更高效(反正出发点之一就是这个)
- 提高开发质量
- onsave 的 jsHint(定制)
- svn preCommit check 【TODO】
- 强制型的 code review 【todo】
- ucss 【TODO】://github.com/operasoftware/ucss
- BDD + TDD 【TODO】
- 将前端团队技术领域拓展到服务端(也许你不在乎这个)
- ssh 登陆器
- sftp 工具(推荐sublime + swftp plugin)(神器webstrom,自带swft功能,机器性能好的,推荐使用);
(其实理想化一点,应该有个内部的云开发平台,不需要每个人都依赖自己的开发机,但是有开发成本. 现在我来帮各位安装)
- 部署project
- 部署 workflow, npm install
- 前端代理(haproxy)
- 登入联调开发机
- 在原有项目目录下 新增文件夹 views(里面装载jade文件)
- 将此目录软连到 /data0/koa-jade-workflow/views
- 确保通过 http://js.t.xxxxjs.cn/ 可以访问到项目目录
- 切到 /data0/koa-jade-workflow/ 下启workflow动服务
- 确保 livereload默认端口 35729不被占用
- 执行 grunt dev
- 确保通过 http://w.xxxxx.com 可以访问到workflow
(与后端约定好接口的数据结构与测试的api地址,就可以并行开发了)
- 与后端的接口约定的假数据是通过 /data0/koa-jade-workflow/data 文件夹的 *.json文件配置的
- 后端的实际api接口保存在 /data0/koa-jade-workflow/lib/dataMap.json中。
- 用浏览器打开 http://w.xxxxx.com 可以看到首页,由来自 project/views/index.jade 渲染而成
- 用sublime sftp 链接到你的测试机下的project文件夹 ,为了方便 "upload_on_save": true
- 每次保存jade , http://w.xxxxx.com 下的对应网页会自动刷新。
- 编译错误
- 如果当前你正在浏览的页面编译错误,则页面不会正常显示,会直接显示报错信息,与函数
- 如果是项目里的其他页面编译错误,则页面会正常显示,在console.log里面显示报错信息 hasCompileError ,你会看到具体哪个页面报错,你可以去调试它,当然也可以选择不理会。
- 数据渲染错误: 与编译错误同,在console.log里面显示报错信息 hasDataError
- 远程api错误 :
- 数据选择策略:
- 按路由取得相应的api数据,如果不存在,写 console.log:isApiDta:false
- 取得api以后,比较api与假数据的key如果不一致,写 console.log: isApiDta:false ,dataKeys是一个keys异同的数组
- 都通真假数据对比通过校验,用api渲染页面,写console.log: isApiDta:true
- 数据选择策略:
e.g : console.log: renderTime: 1ms
e.g : console.log: requestTime: 2ms
e.g : console.log: requestApiSpan: 2001ms
- /log 文件夹下
- 标准输出 workflow-xxxxx-out.log
- 错误输出 workflow-xxxxx-err.log
- 当改变 workflow 文件夹下文件,忽略 .foreverignore里面标注的文件or文件夹 服务会自动重启
- 服务器启动 grunt dev
- 停止服务 forever stopall
- 单进程模式启动 node ./lib/router -p 8001
4.查看服务是否启动成功 netstat -lnput 看指定端口是否启动成功
- 启动服务: cd /data0/koa-jade-workflow sh init.d/bootDev.sh start
- 停止服务: stop
- 重启服务: restart
- npm test 【TODO】
- 全局编译时候应该忽略配置项里的文件or文件夹
- 服务端性能监控
- 省略。。。
##Contributors
- kongbo
- zhaoxin
- 求加入。。。
MIT