Node开发这块目前比较理想的装配建议

2015-05-25 12:08:44

####编辑器/IDE Sublime Text 3 或 WebStorm

目前只用sb3,因为它够快,够Cool,够顺手。以目前项目的复杂度,它足够用了。通过使用editorconfig以及它的插件来规范代码。HTML-CSS-JS Prettify, Bracker Highlighter, BufferScroll, DocBlocker, Emmet, Side Bar等插件都很好用。

####环境 Docker + Jenkins

快速搭建持续集成环境。docker则保证你的代码环境在开发,测试,线上保持高度的一致。windows和mac上需要使用boot2docker。

####调试 Node-dev + Node-inspector + Livereload

可以在保存代码的时候快速重启服务器或自动刷新页面。而node-insepctor可以让像调试前端代码一样调试Node.js。

####后端框架 Yog + Yogurt

这套系统是百度FEX团队的作品,非常好用。相当于Kraken-js + Fis的加强版。 虽然有些地方不够完美,但已经足够解决项目上线后的资源管理问题了。再加上集成了Bigpipe,足以应付之后某些模块的性能要求。要解决callback hell,选用Q或者bluebird这样的Promise方式。对于有多并发,顺序要结果的需求可以使用eventproxy,要限制并发就使用bagpipe。models操作这块选用orm。后台数据缓存,session缓存用redis。数据库用mysql或mongodb。多个业务间通过rpc交互。由于Node.js是单线程,一不小心整个进程也跟着挂了,所以需要pm2来守护进程,而且要启动多个Node进程,合理利用系统资源。 目前我们项目走的是大前端方向,也就Java + Node.js,所以我这边自己做了一个类似淘宝Midway的东西,方便接口的管理使用,mock数据,联调,安全性测试。Midway是个好东西,但是淘宝没开源。

####前端框架 Angular + Bootstrap

Angular 是一个众所周知的MVVM架构。目前本人也是第一次尝试使用。但是用过后就是各种爽, 虽然坑也不少。 双向绑定让你脱离dom操作。把页面切分成一个个组件,每个组件都有自己的scope。组件间通过事件交互。 数据源和交互都比较类似的组件还可以通过继承的方式关联。 通用组件需要定义自己的directive,整个页面模板看起来非常简洁。 加上ng-resource和angular-cache很方便去管理API和数据缓存。 但是用了这货你就更需要关注内存的使用情况了。 对于要支持ie6、ie7的同学,可以使用正美的avalon。

####测试框架 Mocha + Should + Karma + Protractor

目前我这边单元测试、e2e测试的标配

####构建工具

Grunt或Gulp 可以根据自己的项目要求,构建出项目。这个可以参照 generator-angular-fullstack 构建出项目目录结构。 我现在在做的项目基本是以这样的结构。不管是开发和单元测试。不能再爽了~~

###总结:

虽然没怎么深入,连代码也没贴,但还是值得大家去尝试。以我自己的使用情况来看,即使很大的项目,也可以让代码很优雅,很好去维护。Node.js使得全栈工作更普遍,它可以帮助前端同学更好的掌握JavaScript,并且更关注底层的东西。但是用户直接面对的还是页面。所以对于前端来说,怎么使页面展示更快,更流畅,体验更好,更Cool,这是我们的根本。最后吐槽下,一个人搞起那么多东西,真的是痛苦并快乐着~~~


   感悟 这里的一些本人还没用到  本人的硬件配置是mac air 2013 i7 高配 弄nodejs迎刃有余   后端框架一般我用的是express 近期去研究下百度的那套框架


你打算打赏多少钱呢?

打赏
(微信扫一扫)