SlideShare une entreprise Scribd logo
1  sur  29
Télécharger pour lire hors ligne
Node.js Getting Start
                      By @朴灵




12年7月19日星期四
http://www.alibabatech.org/gprofile/37
12年7月19日星期四
Install Node.js


              • 下载安装(http://nodejs.org/#download)
              • node -v


12年7月19日星期四
Hello world!

              node
              > console.log(‘hello world!’);




12年7月19日星期四
Hello world!
              var http = require('http');
              http.createServer(function (req, res) {
                res.writeHead(200, {'Content-Type': 'text/plain'});
                res.end('Hello Worldn');
              }).listen(1337);

              console.log('Server running at http://127.0.0.1:1337/');




12年7月19日星期四
NPM
              • npm install connect
              • npm install connect --registry=http://
                registry.npm.tbdata.org
              • npm ls
              • npm config ls
              • npm publish .
12年7月19日星期四
Module
         // hello.js
         exports.helloWorld = function () {
           console.log('Hello World!');
         };

         // example.js
         var hello = require(‘./hello’);
         hello.helloWorld();



12年7月19日星期四
Package


              • npm init



12年7月19日星期四
小结

              • 安装
              • Hello world
              • NPM & CommonJS Module/Package


12年7月19日星期四
Web Server
         var connect = require('connect');

         var app = connect();
         app.use(connect.static("./public")));
         app.use(connect.directory("./public"));
         app.listen(8001);
         console.log("Running at http://localhost:8001");




12年7月19日星期四
Connect中间件

              // 使用中间件技术
              app.use(function (req, res, next) {

              });




12年7月19日星期四
目录结构
              •   /dispatch.js
              •   /app.js
              •   /routes.js
              •   /controllers/ 业务逻辑相关

              •   /views/
              •   /common/ 跟业务相关的公共模块

              •   /proxy/ 数据访问代理层

              •   /lib/ 跟业务无关的公共模块

              •   /assets/ 静态文件

              •   /test/ 测试

              •   /bin/ 可执行文件

              •   /tools/ 工具

              •   /node_moudules




12年7月19日星期四
Node-Cluster
    var cluster = require('node-cluster');
    var master = new cluster.Master();
    master.register(8080, 'app.js');
    master.dispatch(); var cluster = require('node-cluster');
                       var worker = new cluster.Worker();
                       var connect = require('connect');
                       var app = connect();
                       app.use(connect.static("./public")));
                       app.use(connect.directory("./public"));
                       worker.ready(function (socket) {
                         app.emit('connection', socket);
                       });

12年7月19日星期四
本地NPM




12年7月19日星期四
本地NPM

                      官方NPM




12年7月19日星期四
本地NPM

                      官方NPM




12年7月19日星期四
本地NPM
               单向同步
                      官方NPM




12年7月19日星期四
本地NPM
                   单向同步
          本地NPM           官方NPM




12年7月19日星期四
本地NPM
                   单向同步
          本地NPM           官方NPM




12年7月19日星期四
本地NPM
                   单向同步
          本地NPM           官方NPM




                    项目



12年7月19日星期四
本地NPM
                   单向同步
          本地NPM           官方NPM




                    项目



12年7月19日星期四
本地NPM
                   单向同步
          本地NPM           官方NPM




     私有模块           项目



12年7月19日星期四
本地NPM
                   单向同步
          本地NPM           官方NPM




     私有模块           项目



12年7月19日星期四
本地NPM
                   单向同步
          本地NPM           官方NPM




     私有模块           项目



12年7月19日星期四
本地NPM
                   单向同步
          本地NPM           官方NPM




     私有模块           项目     公有模块



12年7月19日星期四
本地NPM
                   单向同步
          本地NPM           官方NPM




     私有模块           项目     公有模块



12年7月19日星期四
常用模块
              •   connect/ejs
              •   mongoskin/redis/mredis
              •   eventproxy
              •   node-cluster
              •   iconv
              •   mocha/should/rewire
              •   node-dev


12年7月19日星期四
阿里专用模块
              •   taobaosession
              •   taobao-cdn
              •   taobaostatus
              •   sm-client
              •   hsf
              •   itier
              •   kfc-client


12年7月19日星期四
References
              • http://www.infoq.com/cn/master-nodejs
              • http://www.windowsazure.com/en-us/
                develop/nodejs/tutorials/getting-started/
              • http://nodeguide.com/beginner.html
              • http://www.i-programmer.info/
                programming/javascript/3400-getting-
                started-with-nodejs.html


12年7月19日星期四

Contenu connexe

Similaire à Node getting start

iOs app 101
iOs app 101iOs app 101
iOs app 101
Tom Sun
 
Top100summit 芈珺七拼八凑搭建移动自动化测试框架
Top100summit 芈珺七拼八凑搭建移动自动化测试框架Top100summit 芈珺七拼八凑搭建移动自动化测试框架
Top100summit 芈珺七拼八凑搭建移动自动化测试框架
drewz lin
 
iOS开发常用库推荐之一@techparty
iOS开发常用库推荐之一@techpartyiOS开发常用库推荐之一@techparty
iOS开发常用库推荐之一@techparty
Gump Law
 
移动的前端技术架构和性能优化
移动的前端技术架构和性能优化移动的前端技术架构和性能优化
移动的前端技术架构和性能优化
fangdeng
 
D2分享:让前端开发更高效
D2分享:让前端开发更高效D2分享:让前端开发更高效
D2分享:让前端开发更高效
Berg Ray
 
SeaJS - 前端模块化开发探索与网站性能优化实践
SeaJS - 前端模块化开发探索与网站性能优化实践SeaJS - 前端模块化开发探索与网站性能优化实践
SeaJS - 前端模块化开发探索与网站性能优化实践
lifesinger
 
Node.js Quick Tour
Node.js Quick TourNode.js Quick Tour
Node.js Quick Tour
myzykj
 
An intro of web scaffolding tool using yeoman generator
An intro of web scaffolding tool using yeoman generatorAn intro of web scaffolding tool using yeoman generator
An intro of web scaffolding tool using yeoman generator
貫銘 盛
 
Tmall demo environment
Tmall demo environmentTmall demo environment
Tmall demo environment
tbmallf2e
 
Node.js從無到有 基本課程
Node.js從無到有 基本課程Node.js從無到有 基本課程
Node.js從無到有 基本課程
Simon Su
 

Similaire à Node getting start (19)

iOs app 101
iOs app 101iOs app 101
iOs app 101
 
Top100summit 芈珺七拼八凑搭建移动自动化测试框架
Top100summit 芈珺七拼八凑搭建移动自动化测试框架Top100summit 芈珺七拼八凑搭建移动自动化测试框架
Top100summit 芈珺七拼八凑搭建移动自动化测试框架
 
Google map slide
Google map slideGoogle map slide
Google map slide
 
北護樂學程式冬令營 2017
北護樂學程式冬令營 2017北護樂學程式冬令營 2017
北護樂學程式冬令營 2017
 
iOS开发常用库推荐之一@techparty
iOS开发常用库推荐之一@techpartyiOS开发常用库推荐之一@techparty
iOS开发常用库推荐之一@techparty
 
KISSY 1.3-released
KISSY 1.3-releasedKISSY 1.3-released
KISSY 1.3-released
 
WSN Project
WSN ProjectWSN Project
WSN Project
 
Tainan.py, Experience about package
Tainan.py, Experience about packageTainan.py, Experience about package
Tainan.py, Experience about package
 
移动的前端技术架构和性能优化
移动的前端技术架构和性能优化移动的前端技术架构和性能优化
移动的前端技术架构和性能优化
 
D2分享:让前端开发更高效
D2分享:让前端开发更高效D2分享:让前端开发更高效
D2分享:让前端开发更高效
 
SeaJS - 前端模块化开发探索与网站性能优化实践
SeaJS - 前端模块化开发探索与网站性能优化实践SeaJS - 前端模块化开发探索与网站性能优化实践
SeaJS - 前端模块化开发探索与网站性能优化实践
 
Node.js Quick Tour
Node.js Quick TourNode.js Quick Tour
Node.js Quick Tour
 
An intro of web scaffolding tool using yeoman generator
An intro of web scaffolding tool using yeoman generatorAn intro of web scaffolding tool using yeoman generator
An intro of web scaffolding tool using yeoman generator
 
Tmall demo environment
Tmall demo environmentTmall demo environment
Tmall demo environment
 
Network and Multitasking
Network and MultitaskingNetwork and Multitasking
Network and Multitasking
 
初探 Elastic Observability 的實踐方法
初探 Elastic Observability 的實踐方法初探 Elastic Observability 的實踐方法
初探 Elastic Observability 的實踐方法
 
Node.js從無到有 基本課程
Node.js從無到有 基本課程Node.js從無到有 基本課程
Node.js從無到有 基本課程
 
Android vs e pub
Android vs e pubAndroid vs e pub
Android vs e pub
 
Npm 套件管理 & 常用開發工具介紹
Npm 套件管理 & 常用開發工具介紹Npm 套件管理 & 常用開發工具介紹
Npm 套件管理 & 常用開發工具介紹
 

Plus de tbmallf2e (20)

猫粮快报
猫粮快报猫粮快报
猫粮快报
 
618风林火山(仙快羽)
618风林火山(仙快羽)618风林火山(仙快羽)
618风林火山(仙快羽)
 
新风尚活动分享
新风尚活动分享新风尚活动分享
新风尚活动分享
 
前端性能优化&测试
前端性能优化&测试前端性能优化&测试
前端性能优化&测试
 
前端性能测试
前端性能测试前端性能测试
前端性能测试
 
猫粮快报 金艳艳
猫粮快报 金艳艳猫粮快报 金艳艳
猫粮快报 金艳艳
 
浅谈前端安全与规范(渔隐)
浅谈前端安全与规范(渔隐)浅谈前端安全与规范(渔隐)
浅谈前端安全与规范(渔隐)
 
Demo review
Demo reviewDemo review
Demo review
 
猫粮快报
猫粮快报猫粮快报
猫粮快报
 
番茄工作法
番茄工作法番茄工作法
番茄工作法
 
呜龙
呜龙呜龙
呜龙
 
天祁《交易线》
天祁《交易线》天祁《交易线》
天祁《交易线》
 
Tm快报201202 daqiu
Tm快报201202 daqiuTm快报201202 daqiu
Tm快报201202 daqiu
 
快速开发Css
快速开发Css快速开发Css
快速开发Css
 
Google Chrome Developer Tools
Google Chrome Developer ToolsGoogle Chrome Developer Tools
Google Chrome Developer Tools
 
Hello Html5 Games
Hello Html5 GamesHello Html5 Games
Hello Html5 Games
 
Mvc
MvcMvc
Mvc
 
Chrome中的创意和应用
Chrome中的创意和应用Chrome中的创意和应用
Chrome中的创意和应用
 
Wap
WapWap
Wap
 
高端版Tmall
高端版Tmall高端版Tmall
高端版Tmall
 

Node getting start

  • 1. Node.js Getting Start By @朴灵 12年7月19日星期四
  • 3. Install Node.js • 下载安装(http://nodejs.org/#download) • node -v 12年7月19日星期四
  • 4. Hello world! node > console.log(‘hello world!’); 12年7月19日星期四
  • 5. Hello world! var http = require('http'); http.createServer(function (req, res) { res.writeHead(200, {'Content-Type': 'text/plain'}); res.end('Hello Worldn'); }).listen(1337); console.log('Server running at http://127.0.0.1:1337/'); 12年7月19日星期四
  • 6. NPM • npm install connect • npm install connect --registry=http:// registry.npm.tbdata.org • npm ls • npm config ls • npm publish . 12年7月19日星期四
  • 7. Module // hello.js exports.helloWorld = function () { console.log('Hello World!'); }; // example.js var hello = require(‘./hello’); hello.helloWorld(); 12年7月19日星期四
  • 8. Package • npm init 12年7月19日星期四
  • 9. 小结 • 安装 • Hello world • NPM & CommonJS Module/Package 12年7月19日星期四
  • 10. Web Server var connect = require('connect'); var app = connect(); app.use(connect.static("./public"))); app.use(connect.directory("./public")); app.listen(8001); console.log("Running at http://localhost:8001"); 12年7月19日星期四
  • 11. Connect中间件 // 使用中间件技术 app.use(function (req, res, next) { }); 12年7月19日星期四
  • 12. 目录结构 • /dispatch.js • /app.js • /routes.js • /controllers/ 业务逻辑相关 • /views/ • /common/ 跟业务相关的公共模块 • /proxy/ 数据访问代理层 • /lib/ 跟业务无关的公共模块 • /assets/ 静态文件 • /test/ 测试 • /bin/ 可执行文件 • /tools/ 工具 • /node_moudules 12年7月19日星期四
  • 13. Node-Cluster var cluster = require('node-cluster'); var master = new cluster.Master(); master.register(8080, 'app.js'); master.dispatch(); var cluster = require('node-cluster'); var worker = new cluster.Worker(); var connect = require('connect'); var app = connect(); app.use(connect.static("./public"))); app.use(connect.directory("./public")); worker.ready(function (socket) { app.emit('connection', socket); }); 12年7月19日星期四
  • 15. 本地NPM 官方NPM 12年7月19日星期四
  • 16. 本地NPM 官方NPM 12年7月19日星期四
  • 17. 本地NPM 单向同步 官方NPM 12年7月19日星期四
  • 18. 本地NPM 单向同步 本地NPM 官方NPM 12年7月19日星期四
  • 19. 本地NPM 单向同步 本地NPM 官方NPM 12年7月19日星期四
  • 20. 本地NPM 单向同步 本地NPM 官方NPM 项目 12年7月19日星期四
  • 21. 本地NPM 单向同步 本地NPM 官方NPM 项目 12年7月19日星期四
  • 22. 本地NPM 单向同步 本地NPM 官方NPM 私有模块 项目 12年7月19日星期四
  • 23. 本地NPM 单向同步 本地NPM 官方NPM 私有模块 项目 12年7月19日星期四
  • 24. 本地NPM 单向同步 本地NPM 官方NPM 私有模块 项目 12年7月19日星期四
  • 25. 本地NPM 单向同步 本地NPM 官方NPM 私有模块 项目 公有模块 12年7月19日星期四
  • 26. 本地NPM 单向同步 本地NPM 官方NPM 私有模块 项目 公有模块 12年7月19日星期四
  • 27. 常用模块 • connect/ejs • mongoskin/redis/mredis • eventproxy • node-cluster • iconv • mocha/should/rewire • node-dev 12年7月19日星期四
  • 28. 阿里专用模块 • taobaosession • taobao-cdn • taobaostatus • sm-client • hsf • itier • kfc-client 12年7月19日星期四
  • 29. References • http://www.infoq.com/cn/master-nodejs • http://www.windowsazure.com/en-us/ develop/nodejs/tutorials/getting-started/ • http://nodeguide.com/beginner.html • http://www.i-programmer.info/ programming/javascript/3400-getting- started-with-nodejs.html 12年7月19日星期四