使用nodejs构建静态资源管理系统

26
使用Node构建静态资源管理系统(RMS) yyfrankyy

Upload: frank-xu

Post on 02-Jul-2015

729 views

Category:

Documents


0 download

TRANSCRIPT

  • 1. Node(RMS) yyfrankyy

2. } @} https://github.com/yyfrankyy} [email protected] 3. Agenda} RMS} } Node 4. } } } LESS/SassCoffeeScript} Auto SpriteCSS Gaga} 5. } /} } } } 6. } B2Bsvn proxy} Hook} } (build.sh)} } CSS3HTML} } } facebook} sprite} } 7. RMSBased on Java} } js} php/image} native2ascii} YUICompressor} CDN 8. } } } } } } } } 9. RMS RMSCDN 10. RMS Cache POC RMSCDN 11. } RMS } } } RMS } 12. new RMS({by: nodejs});Web Service 13. Node} Node} (jvm)} } JavaScript 14. RMS Web 15. RMS Webviewexpresscontrollermodelwebdavsvnmysql node-mysql 16. View} NodeJS => Shared Template(Mustache) } app.use(jsonp callback)} app.send(obj)} GET /data?callback=define => define({foo: bar});} Partial} res.send(mustache({{>header}}{{>$partial}}{{>footer}})); 17. Controller} } tbsession(sessionproxy)} app.use(login);} } app.all(/:apptype/:appname/:action/*?, fn);} GET /show/path/to/your/file.js => /path/to/your/file.js => svn} GET /log/path/to/your/file.js => show logs} POST /confirm => /publish => RMSshow status 18. Model} svn} Webdav, HTTP Digest Auth} svn non-interactive xml {subcommands}} xml2json} RBACRole Based Access Control 19. RMS REST APIasciicoffee lessuglifyjs security nassvncssmin yuicompressor closure compiler jsdocCDN POC 20. } node-webworker} } } 21. 22. } } } function run(content, next) { next(null, less(content)); } 23. INPUT {filelist: [{rev: 10086,path: $path,type: JavaScript,steps: [[coffeescript, {}],[compressor, {tools: {JavaScript: UglifyJS}}]], /**/]}]}OUTPUT {status: start, success: true, id: $publishId} 24. 25. NodeJS} IO} JavaScript} NodeJS Best Practise} ECMAScript 5} } vowjsapi-easy} GCStop-The-World when I am not busy)} GCV8::LowMemoryNotification()} } native2ascii} } 0.4-0.6} (forever, less)} node-webworkercluster 26. } Q&A