mirror of
https://github.com/nodejs/node.git
synced 2024-11-22 07:37:56 +01:00
200 lines
8.8 KiB
HTML
200 lines
8.8 KiB
HTML
<!doctype html>
|
||
<html lang="en">
|
||
<head>
|
||
<meta charset="utf-8">
|
||
<link type="image/x-icon" rel="icon" href="favicon.ico">
|
||
<link type="image/x-icon" rel="shortcut icon" href="favicon.ico">
|
||
<link rel="stylesheet" href="pipe.css">
|
||
<link rel="stylesheet" href="sh_vim-dark.css">
|
||
<link rel="alternate"
|
||
type="application/rss+xml"
|
||
title="node blog"
|
||
href="http://feeds.feedburner.com/nodejs/123123123">
|
||
<title>node.js</title>
|
||
</head>
|
||
<body id="front">
|
||
<div id="intro">
|
||
<img id="logo" src="http://nodejs.org/images/logo.png" alt="node.js">
|
||
|
||
<p>Node.js is a platform built on <a
|
||
href="http://code.google.com/p/v8/">Chrome's JavaScript runtime</a>
|
||
for easily building fast, scalable network applications. Node.js
|
||
uses an event-driven, non-blocking I/O model that makes it
|
||
lightweight and efficient, perfect for data-intensive real-time
|
||
applications that run across distributed devices.</p>
|
||
|
||
<p>Current Version: __VERSION__</p>
|
||
|
||
<div class=buttons>
|
||
<a href="http://nodejs.org/dist/__VERSION__/node-__VERSION__.tar.gz" class="button downloadbutton" id="downloadbutton">INSTALL</a>
|
||
|
||
<a href="download/" class=button id="all-dl-options">Downloads</a
|
||
><a href="api/" class="button" id="docsbutton">API Docs</a>
|
||
</div>
|
||
|
||
<a href="http://github.com/joyent/node"><img class="forkme" src="http://nodejs.org/images/forkme.png" alt="Fork me on GitHub"></a>
|
||
</div>
|
||
|
||
<div id="quotes" class="clearfix">
|
||
<h2>Node.js in the Industry</h2>
|
||
<ul>
|
||
<li class="microsoft"><img src="http://nodejs.org/images/microsoft-logo.png" height=34>
|
||
<p>Node gives Azure users the first end-to-end JavaScript
|
||
experience for the development of a whole new class of real-time
|
||
applications.
|
||
<br>
|
||
<a href="https://www.windowsazure.com/en-us/develop/nodejs">Claudio Caldato</a>
|
||
<br>
|
||
<span>Principal Program Manager, Microsoft Open Technologies, Inc.</span></p>
|
||
</li>
|
||
|
||
<li class="ebay"><img src="http://nodejs.org/images/ebay-logo.png" height=34>
|
||
<p>Node’s evented I/O model freed us from worrying about locking
|
||
and concurrency issues that are common with multithreaded async
|
||
I/O.
|
||
<br>
|
||
<a href="http://www.ebaytechblog.com/2011/11/30/announcing-ql-io/">Subbu Allamarju</a>
|
||
<br>
|
||
<span>Principal Member, Technical Staff</span></p></li>
|
||
|
||
<li class="linkedin"><img src="http://nodejs.org/images/linkedin-logo.png" height=34>
|
||
<p>On the server side, our entire mobile software stack is
|
||
completely built in Node. One reason was scale. The second is
|
||
Node showed us huge performance gains.
|
||
<br>
|
||
<a href="http://venturebeat.com/2011/08/16/linkedin-node/">Kiran Prasad</a>
|
||
<br>
|
||
<span>Director of Engineering, Mobile</span></p></li>
|
||
|
||
<li class="yahoo"><img src="http://nodejs.org/images/yahoo-logo.png" height=34>
|
||
<p>Node.js is the execution core of Manhattan. Allowing
|
||
developers to build one code base using one language – that is
|
||
the nirvana for developers.
|
||
<br>
|
||
<a href="http://developer.yahoo.com/blogs/ydn/posts/2011/11/yahoo-announces-cocktails-%E2%80%93-shaken-not-stirred/">Renaud Waldura</a>
|
||
<br>
|
||
<span>Sr. Product Manger, Cocktail</span></p></li>
|
||
</ul>
|
||
</div>
|
||
|
||
<div id="content" class="clearfix">
|
||
<div id="column1">
|
||
<h2>An example: Webserver</h2>
|
||
<p>This simple web server written in Node responds with "Hello World" for every request.</p>
|
||
<pre>
|
||
var http = require('http');
|
||
http.createServer(function (req, res) {
|
||
res.writeHead(200, {'Content-Type': 'text/plain'});
|
||
res.end('Hello World\n');
|
||
}).listen(1337, '127.0.0.1');
|
||
console.log('Server running at http://127.0.0.1:1337/');</pre>
|
||
|
||
<p>To run the server, put the code into a file
|
||
<code>example.js</code> and execute it with the
|
||
<code>node</code> program from the command line:</p>
|
||
<pre class="sh_none">
|
||
% node example.js
|
||
Server running at http://127.0.0.1:1337/</pre>
|
||
|
||
<p>Here is an example of a simple TCP server which listens on port 1337 and echoes whatever you send it:</p>
|
||
|
||
<pre>
|
||
var net = require('net');
|
||
|
||
var server = net.createServer(function (socket) {
|
||
socket.write('Echo server\r\n');
|
||
socket.pipe(socket);
|
||
});
|
||
|
||
server.listen(1337, '127.0.0.1');</pre>
|
||
|
||
<!-- <p>Ready to dig in? <a href="">Download the latest version</a> of node.js or learn how other organizations are <a href="">using the technology</a>.</p> -->
|
||
</div>
|
||
<div id="column2">
|
||
<h2>Featured</h2>
|
||
<a href="http://www.youtube.com/watch?v=jo_B4LTHi3I"><img src="http://nodejs.org/images/ryan-speaker.jpg"></a>
|
||
A guided introduction to Node
|
||
|
||
<h2>Explore Node.js</h2>
|
||
<ul id="explore">
|
||
<li><a href="about/" class="explore">About</a><br><span>Technical overview</span></li>
|
||
<li><a href="http://npmjs.org/" class="explore">npm Registry</a><br><span>Modules, resources and more</span></li>
|
||
<li><a href="http://nodejs.org/api/" class="explore">Documentation</a><br><span>API Specifications</span></li>
|
||
<li><a href="http://blog.nodejs.org" class="explore">Node.js Blog</a><br><span>Insight, perspective and events</span></li>
|
||
<li><a href="community/" class="explore">Community</a><br><span>Mailing lists, blogs, and more</span></li>
|
||
<li><a href="logos/" class="explore">Logos</a><br><span>Logo and desktop background</span></li>
|
||
<li><a href="http://jobs.nodejs.org/" class="explore">Jobs</a><br><ol class="jobs"><!-- JOBS --><!-- JOBS --></ol></li>
|
||
</ul>
|
||
</div>
|
||
</div>
|
||
|
||
<div id="footer">
|
||
<a href="http://joyent.com" class="joyent-logo">Joyent</a>
|
||
<ul class="clearfix">
|
||
<li><a href="/">Node.js</a></li>
|
||
<li><a href="/download/">Download</a></li>
|
||
<li><a href="/about/">About</a></li>
|
||
<li><a href="http://npmjs.org/">npm Registry</a></li>
|
||
<li><a href="http://nodejs.org/api/">Docs</a></li>
|
||
<li><a href="http://blog.nodejs.org">Blog</a></li>
|
||
<li><a href="/community/">Community</a></li>
|
||
<li><a href="/logos/">Logos</a></li>
|
||
<li><a href="http://jobs.nodejs.org/">Jobs</a></li>
|
||
<!-- <li><a hrfe="http://twitter.com/nodejs" class="twitter">@nodejs</a></li> -->
|
||
</ul>
|
||
|
||
<p>Copyright <a href="http://joyent.com/">Joyent, Inc</a>, Node.js is a <a href="/trademark-policy.pdf">trademark</a> of Joyent, Inc. View <a href="https://raw.github.com/joyent/node/__VERSION__/LICENSE">license</a>.</p>
|
||
</div>
|
||
|
||
|
||
<script src="sh_main.js"></script>
|
||
<script src="sh_javascript.min.js"></script>
|
||
<script>highlight(undefined, undefined, 'pre');</script>
|
||
|
||
<script>
|
||
window._gaq = [['_setAccount', 'UA-10874194-2'], ['_trackPageview']];
|
||
(function(d, t) {
|
||
var g = d.createElement(t),
|
||
s = d.getElementsByTagName(t)[0];
|
||
g.src = '//www.google-analytics.com/ga.js';
|
||
s.parentNode.insertBefore(g, s);
|
||
}(document, 'script'));
|
||
;(function(d,n) {
|
||
var os = n.platform.match(/(Win|Mac|Linux)/);
|
||
var x = n.userAgent.match(/x86_64|Win64|WOW64/) ||
|
||
n.cpuClass === 'x64' ? 'x64' : 'x86';
|
||
var base = 'http://nodejs.org/dist/__VERSION__/';
|
||
var href = 'node-__VERSION__.tar.gz';
|
||
var db = d.getElementById('downloadbutton');
|
||
var d2;
|
||
switch (os && os[1]) {
|
||
case 'Mac':
|
||
href = 'node-__VERSION__.pkg';
|
||
break;
|
||
case 'Win':
|
||
href = 'node-__VERSION__-' + x + '.msi';
|
||
if (x === 'x64') href = 'x64/' + href;
|
||
break;
|
||
|
||
// TODO uncomment when we have these
|
||
// case 'Linux':
|
||
// // two buttons: .deb and .rpm
|
||
// href = 'node-__VERSION__-' + x + '.rpm';
|
||
// var d2 = document.createElement('a');
|
||
// d2.href = base + 'node-__VERSION__-' + x + '.deb';
|
||
// d2.className = 'button downloadbutton';
|
||
// d2.innerHTML = 'INSTALL .deb';
|
||
// db.innerHTML = 'INSTALL .rpm';
|
||
// db.parentNode.insertBefore(d2, db);
|
||
// break;
|
||
}
|
||
|
||
db.href = base + href;
|
||
// if there's one download option, then download it at #download
|
||
if (location.hash === '#download' && !d2)
|
||
location.replace(b.href);
|
||
})(document,navigator);
|
||
</script>
|
||
</body>
|
||
</html>
|