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