Upgrade to Pro — share decks privately, control downloads, hide ads and more …

关于NodeJS的那些事

cssrain
July 14, 2014

 关于NodeJS的那些事

cssrain

July 14, 2014
Tweet

More Decks by cssrain

Other Decks in Technology

Transcript

  1. • 大型网站(Paypal, LinkedIn, Walmart) • Web中间层(Taobao) • 提供Restful服务 • 命令行程序(Grunt、nico、SPM)

    • 图形化应用(GitHub AtomEditor) • 编译器(Uglify, Less) • 操作系统(NodeOS)
  2.  global - 全局对象  fs - 文件系统  util

    - 常用工具  events - 事件驱动  http - http服务器模块
  3. 例如,变量作用域带来的陷阱 ... // 变量提升 var scope = 'global'; var f

    = function() { console.log(scope); // undefined var scope = 'f'; }; f(); // 静态作用域 var scope = 'global'; var f1 = function() { console.log(scope); }; f1(); // top var f2 = function() { var scope = 'f2'; f1(); }; f1(); // top
  4. 实际示例2 - 淘宝详情页优化 需求 • 在NodeJS端使用 BigPiper 技 术合并请求,降低负担 •

    分批输出,不影响体验 解决方案 • 页面数据来自各个不同接口 • 为了不影响体验,先产生页面 框架后发起多个异步请求取数据 更新页面 • 这些多出来的请求带来的影响 不小,尤其在无线端
  5. 一台Node对应多台JAVA服务器 合理的分配服务器带来最大的产出 页面渲染优化 • 前后端共享模版 • 首屏服务器渲染 • 次屏浏览器渲染 •

    局部刷新浏览器渲染 单页面应用优化 • 前后端共享路由与模版 • 前端换页,浏览器端渲染 • 直接输入URL,服务器渲染 • SEO问题迎刃而解 在NodeJS端使用 BigPiper 技 术合并请求,降低负担 分批输出,不影响体验 NodeJS带来的解决方案