193fb6ee3Sopenharmony_ci 293fb6ee3Sopenharmony_ci<!doctype html> 393fb6ee3Sopenharmony_ci<html lang="en"> 493fb6ee3Sopenharmony_ci <head> 593fb6ee3Sopenharmony_ci <meta charset="utf-8"> 693fb6ee3Sopenharmony_ci <link type="image/x-icon" rel="icon" href="favicon.ico"> 793fb6ee3Sopenharmony_ci <link type="image/x-icon" rel="shortcut icon" href="favicon.ico"> 893fb6ee3Sopenharmony_ci <link rel="stylesheet" href="/pipe.css"> 993fb6ee3Sopenharmony_ci <link rel="stylesheet" href="/sh_vim-dark.css"> 1093fb6ee3Sopenharmony_ci <script type="text/javascript" src="//use.typekit.net/mse5tqx.js"></script> 1193fb6ee3Sopenharmony_ci <script type="text/javascript">try{Typekit.load();}catch(e){}</script> 1293fb6ee3Sopenharmony_ci <link rel="alternate" 1393fb6ee3Sopenharmony_ci type="application/rss+xml" 1493fb6ee3Sopenharmony_ci title="node blog" 1593fb6ee3Sopenharmony_ci href="http://feeds.feedburner.com/nodejs/123123123"> 1693fb6ee3Sopenharmony_ci <title>node.js</title> 1793fb6ee3Sopenharmony_ci </head> 1893fb6ee3Sopenharmony_ci <body id="front"> 1993fb6ee3Sopenharmony_ci <div id="nav"> 2093fb6ee3Sopenharmony_ci <img id="logo" src="/images/logo.svg" alt="node.js"> 2193fb6ee3Sopenharmony_ci <ul> 2293fb6ee3Sopenharmony_ci <li class="active"><a href="/">Home</a></li> 2393fb6ee3Sopenharmony_ci <li><a href="/download"/>Downloads</a></li> 2493fb6ee3Sopenharmony_ci <li><a href="/documentation/">Docs</a></li> 2593fb6ee3Sopenharmony_ci <li><a href="/community/">Community</a></li> 2693fb6ee3Sopenharmony_ci <li><a href="/about/">About</a></li> 2793fb6ee3Sopenharmony_ci <li><a href="http://jobs.nodejs.org">Jobs</a></li> 2893fb6ee3Sopenharmony_ci <li><a href="http://blog.nodejs.org">Blog</a></li> 2993fb6ee3Sopenharmony_ci </ul> 3093fb6ee3Sopenharmony_ci </div> 3193fb6ee3Sopenharmony_ci <div id="intro"> 3293fb6ee3Sopenharmony_ci 3393fb6ee3Sopenharmony_ci <p>Node.js is a platform built on <a 3493fb6ee3Sopenharmony_ci href="http://code.google.com/p/v8/">Chrome's JavaScript runtime</a> 3593fb6ee3Sopenharmony_ci for easily building fast, scalable network applications. Node.js 3693fb6ee3Sopenharmony_ci uses an event-driven, non-blocking I/O model that makes it 3793fb6ee3Sopenharmony_ci lightweight and efficient, perfect for data-intensive real-time 3893fb6ee3Sopenharmony_ci applications that run across distributed devices.</p> 3993fb6ee3Sopenharmony_ci 4093fb6ee3Sopenharmony_ci <p class="version">Current Version: v0.10.30</p> 4193fb6ee3Sopenharmony_ci 4293fb6ee3Sopenharmony_ci <div class=buttons> 4393fb6ee3Sopenharmony_ci <a href="http://nodejs.org/dist/v0.10.30/node-v0.10.30.tar.gz" class="button downloadbutton" id="downloadbutton">INSTALL</a> 4493fb6ee3Sopenharmony_ci 4593fb6ee3Sopenharmony_ci <a href="download/" class=button id="all-dl-options">Downloads</a 4693fb6ee3Sopenharmony_ci ><a href="api/" class="button" id="docsbutton">API Docs</a> 4793fb6ee3Sopenharmony_ci </div> 4893fb6ee3Sopenharmony_ci </div> 4993fb6ee3Sopenharmony_ci 5093fb6ee3Sopenharmony_ci <div id="promo"> 5193fb6ee3Sopenharmony_ci <a href="http://www.joyent.com/noderoad"><img src="images/roadshow-promo.png"></a> 5293fb6ee3Sopenharmony_ci </div> 5393fb6ee3Sopenharmony_ci 5493fb6ee3Sopenharmony_ci <div id="content-wrap"> 5593fb6ee3Sopenharmony_ci <div id="content" class="clearfix"> 5693fb6ee3Sopenharmony_ci <div id="column1"> 5793fb6ee3Sopenharmony_ci <h2>An example: Webserver</h2> 5893fb6ee3Sopenharmony_ci <p>This simple web server written in Node responds with "Hello World" for every request.</p> 5993fb6ee3Sopenharmony_ci <pre> 6093fb6ee3Sopenharmony_civar http = require('http'); 6193fb6ee3Sopenharmony_cihttp.createServer(function (req, res) { 6293fb6ee3Sopenharmony_ci res.writeHead(200, {'Content-Type': 'text/plain'}); 6393fb6ee3Sopenharmony_ci res.end('Hello World\n'); 6493fb6ee3Sopenharmony_ci}).listen(1337, '127.0.0.1'); 6593fb6ee3Sopenharmony_ciconsole.log('Server running at http://127.0.0.1:1337/');</pre> 6693fb6ee3Sopenharmony_ci 6793fb6ee3Sopenharmony_ci <p>To run the server, put the code into a file 6893fb6ee3Sopenharmony_ci <code>example.js</code> and execute it with the 6993fb6ee3Sopenharmony_ci <code>node</code> program from the command line:</p> 7093fb6ee3Sopenharmony_ci <pre class="sh_none"> 7193fb6ee3Sopenharmony_ci% node example.js 7293fb6ee3Sopenharmony_ciServer running at http://127.0.0.1:1337/</pre> 7393fb6ee3Sopenharmony_ci 7493fb6ee3Sopenharmony_ci <p>Here is an example of a simple TCP server which listens on port 1337 and echoes whatever you send it:</p> 7593fb6ee3Sopenharmony_ci 7693fb6ee3Sopenharmony_ci <pre> 7793fb6ee3Sopenharmony_civar net = require('net'); 7893fb6ee3Sopenharmony_ci 7993fb6ee3Sopenharmony_civar server = net.createServer(function (socket) { 8093fb6ee3Sopenharmony_ci socket.write('Echo server\r\n'); 8193fb6ee3Sopenharmony_ci socket.pipe(socket); 8293fb6ee3Sopenharmony_ci}); 8393fb6ee3Sopenharmony_ci 8493fb6ee3Sopenharmony_ciserver.listen(1337, '127.0.0.1');</pre> 8593fb6ee3Sopenharmony_ci 8693fb6ee3Sopenharmony_ci </div> 8793fb6ee3Sopenharmony_ci <div id="column2" class="featured"> 8893fb6ee3Sopenharmony_ci <h2>Featured</h2> 8993fb6ee3Sopenharmony_ci <a href="/video/"><img src="/images/walmart-thumb.jpg" width="263"></a> 9093fb6ee3Sopenharmony_ci <h3>Node.js at Walmart</h3> 9193fb6ee3Sopenharmony_ci <p><a href="http://twitter.com/eranhammer">Eran Hammer</a>, Principal Architect at Walmart, talks about how they use Node.js as a way to reinvent legacy APIs to create modern front end experiences.</p> 9293fb6ee3Sopenharmony_ci </div> 9393fb6ee3Sopenharmony_ci </div> 9493fb6ee3Sopenharmony_ci </div> 9593fb6ee3Sopenharmony_ci 9693fb6ee3Sopenharmony_ci <div id="footer"> 9793fb6ee3Sopenharmony_ci <div class="foot-1"> 9893fb6ee3Sopenharmony_ci <a href="http://www.joyent.com"><h5>The Node.js Project is Sponsored by</h5> 9993fb6ee3Sopenharmony_ci <img src="/images/joyent-footer.svg" width="200"> 10093fb6ee3Sopenharmony_ci <p class="tag">Production Node +<br>High Performance Infrastructure</p></a> 10193fb6ee3Sopenharmony_ci <a href="https://my.joyent.com/landing/signup/701800000015696" class="button getstarted">Get Started</a> 10293fb6ee3Sopenharmony_ci </div> 10393fb6ee3Sopenharmony_ci <div class="foot-2"> 10493fb6ee3Sopenharmony_ci <div class="foot-nav"> 10593fb6ee3Sopenharmony_ci <ul> 10693fb6ee3Sopenharmony_ci <li><a href="http://nodejs.org/download/">Downloads</a></li> 10793fb6ee3Sopenharmony_ci </ul> 10893fb6ee3Sopenharmony_ci <ul> 10993fb6ee3Sopenharmony_ci <li><a href="http://nodejs.org/documentation/">Documentation</a></li> 11093fb6ee3Sopenharmony_ci <li><a href="http://nodejs.org/documentation/api/">API Docs</a></li> 11193fb6ee3Sopenharmony_ci <li><a href="http://nodejs.org/documentation/tutorials/">Tutorials</a></li> 11293fb6ee3Sopenharmony_ci <li><a href="http://nodejs.org/documentation/localization/">Localization</a></li> 11393fb6ee3Sopenharmony_ci </ul> 11493fb6ee3Sopenharmony_ci <ul> 11593fb6ee3Sopenharmony_ci <li><a href="http://nodejs.org/community/">Community</a></li> 11693fb6ee3Sopenharmony_ci <li><a href="https://github.com/joyent/node/issues">Github Issues</a></li> 11793fb6ee3Sopenharmony_ci <li><a href="http://groups.google.com/group/nodejs">Mailing List</a></li> 11893fb6ee3Sopenharmony_ci <li><a href="http://webchat.freenode.net/?channels=node.js">IRC</a></li> 11993fb6ee3Sopenharmony_ci <li><a href="https://twitter.com/nodejs">Twitter</a></li> 12093fb6ee3Sopenharmony_ci </ul> 12193fb6ee3Sopenharmony_ci <ul> 12293fb6ee3Sopenharmony_ci <li><a href="http://nodejs.org/about/">About</a></li> 12393fb6ee3Sopenharmony_ci <li><a href="http://nodejs.org/about/organization/">Organization</a></li> 12493fb6ee3Sopenharmony_ci <li><a href="http://nodejs.org/about/core-team/">Core Team</a></li> 12593fb6ee3Sopenharmony_ci <li><a href="http://nodejs.org/about/resources/">Resources</a></li> 12693fb6ee3Sopenharmony_ci </ul> 12793fb6ee3Sopenharmony_ci <ul> 12893fb6ee3Sopenharmony_ci <li><a href="http://blog.nodejs.org">Blog</a></li> 12993fb6ee3Sopenharmony_ci </ul> 13093fb6ee3Sopenharmony_ci </div> 13193fb6ee3Sopenharmony_ci <p class="copyright">Copyright 2014 <a href="http://joyent.com/">Joyent, Inc</a>, Node.js is a <a href="/images/trademark-policy.pdf">trademark</a> of Joyent, Inc. <a href="https://raw.github.com/joyent/node/v0.10.30/LICENSE">View license</a>.</p> 13293fb6ee3Sopenharmony_ci </div> 13393fb6ee3Sopenharmony_ci </div> 13493fb6ee3Sopenharmony_ci 13593fb6ee3Sopenharmony_ci <script src="sh_main.js"></script> 13693fb6ee3Sopenharmony_ci <script src="sh_javascript.min.js"></script> 13793fb6ee3Sopenharmony_ci <script>highlight(undefined, undefined, 'pre');</script> 13893fb6ee3Sopenharmony_ci 13993fb6ee3Sopenharmony_ci <script> 14093fb6ee3Sopenharmony_ci window._gaq = [['_setAccount', 'UA-10874194-2'], ['_trackPageview']]; 14193fb6ee3Sopenharmony_ci (function(d, t) { 14293fb6ee3Sopenharmony_ci var g = d.createElement(t), 14393fb6ee3Sopenharmony_ci s = d.getElementsByTagName(t)[0]; 14493fb6ee3Sopenharmony_ci g.src = '//www.google-analytics.com/ga.js'; 14593fb6ee3Sopenharmony_ci s.parentNode.insertBefore(g, s); 14693fb6ee3Sopenharmony_ci }(document, 'script')); 14793fb6ee3Sopenharmony_ci ;(function(d,n) { 14893fb6ee3Sopenharmony_ci var os = n.platform.match(/(Win|Mac|Linux)/); 14993fb6ee3Sopenharmony_ci var x = n.userAgent.match(/x86_64|Win64|WOW64/) || 15093fb6ee3Sopenharmony_ci n.cpuClass === 'x64' ? 'x64' : 'x86'; 15193fb6ee3Sopenharmony_ci var base = 'http://nodejs.org/dist/v0.10.30/'; 15293fb6ee3Sopenharmony_ci var href = 'node-v0.10.30.tar.gz'; 15393fb6ee3Sopenharmony_ci var db = d.getElementById('downloadbutton'); 15493fb6ee3Sopenharmony_ci var d2; 15593fb6ee3Sopenharmony_ci switch (os && os[1]) { 15693fb6ee3Sopenharmony_ci case 'Mac': 15793fb6ee3Sopenharmony_ci href = 'node-v0.10.30.pkg'; 15893fb6ee3Sopenharmony_ci break; 15993fb6ee3Sopenharmony_ci case 'Win': 16093fb6ee3Sopenharmony_ci href = 'node-v0.10.30-' + x + '.msi'; 16193fb6ee3Sopenharmony_ci if (x === 'x64') href = 'x64/' + href; 16293fb6ee3Sopenharmony_ci break; 16393fb6ee3Sopenharmony_ci 16493fb6ee3Sopenharmony_ci // TODO uncomment when we have these 16593fb6ee3Sopenharmony_ci // case 'Linux': 16693fb6ee3Sopenharmony_ci // // two buttons: .deb and .rpm 16793fb6ee3Sopenharmony_ci // href = 'node-v0.10.30-' + x + '.rpm'; 16893fb6ee3Sopenharmony_ci // var d2 = document.createElement('a'); 16993fb6ee3Sopenharmony_ci // d2.href = base + 'node-v0.10.30-' + x + '.deb'; 17093fb6ee3Sopenharmony_ci // d2.className = 'button downloadbutton'; 17193fb6ee3Sopenharmony_ci // d2.innerHTML = 'INSTALL .deb'; 17293fb6ee3Sopenharmony_ci // db.innerHTML = 'INSTALL .rpm'; 17393fb6ee3Sopenharmony_ci // db.parentNode.insertBefore(d2, db); 17493fb6ee3Sopenharmony_ci // break; 17593fb6ee3Sopenharmony_ci } 17693fb6ee3Sopenharmony_ci 17793fb6ee3Sopenharmony_ci db.href = base + href; 17893fb6ee3Sopenharmony_ci // if there's one download option, then download it at #download 17993fb6ee3Sopenharmony_ci if (location.hash === '#download' && !d2) 18093fb6ee3Sopenharmony_ci location.replace(b.href); 18193fb6ee3Sopenharmony_ci })(document,navigator); 18293fb6ee3Sopenharmony_ci </script> 18393fb6ee3Sopenharmony_ci </body> 18493fb6ee3Sopenharmony_ci</html> 185