nodejs-mozilla/doc/api/synopsis.html

198 lines
11 KiB
HTML
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width">
<meta name="nodejs.org:node-version" content="v12.22.12">
<title>Usage and example | Node.js v12.22.12 Documentation</title>
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Lato:400,700,400italic&display=fallback">
<link rel="stylesheet" href="assets/style.css">
<link rel="stylesheet" href="assets/hljs.css">
<link rel="canonical" href="https://nodejs.org/api/synopsis.html">
</head>
<body class="alt apidoc" id="api-section-synopsis">
<div id="content" class="clearfix">
<div id="column2" class="interior">
<div id="intro" class="interior">
<a href="/" title="Go back to the home page">
Node.js
</a>
</div>
<ul>
<li><a href="documentation.html" class="nav-documentation">About this documentation</a></li>
<li><a href="synopsis.html" class="nav-synopsis active">Usage and example</a></li>
</ul>
<hr class="line">
<ul>
<li><a href="assert.html" class="nav-assert">Assertion testing</a></li>
<li><a href="async_hooks.html" class="nav-async_hooks">Async hooks</a></li>
<li><a href="buffer.html" class="nav-buffer">Buffer</a></li>
<li><a href="addons.html" class="nav-addons">C++ Addons</a></li>
<li><a href="n-api.html" class="nav-n-api">C/C++ Addons with N-API</a></li>
<li><a href="embedding.html" class="nav-embedding">C++ Embedder API</a></li>
<li><a href="child_process.html" class="nav-child_process">Child Processes</a></li>
<li><a href="cluster.html" class="nav-cluster">Cluster</a></li>
<li><a href="cli.html" class="nav-cli">Command line options</a></li>
<li><a href="console.html" class="nav-console">Console</a></li>
<li><a href="crypto.html" class="nav-crypto">Crypto</a></li>
<li><a href="debugger.html" class="nav-debugger">Debugger</a></li>
<li><a href="deprecations.html" class="nav-deprecations">Deprecated APIs</a></li>
<li><a href="dns.html" class="nav-dns">DNS</a></li>
<li><a href="domain.html" class="nav-domain">Domain</a></li>
<li><a href="errors.html" class="nav-errors">Errors</a></li>
<li><a href="events.html" class="nav-events">Events</a></li>
<li><a href="fs.html" class="nav-fs">File system</a></li>
<li><a href="globals.html" class="nav-globals">Globals</a></li>
<li><a href="http.html" class="nav-http">HTTP</a></li>
<li><a href="http2.html" class="nav-http2">HTTP/2</a></li>
<li><a href="https.html" class="nav-https">HTTPS</a></li>
<li><a href="inspector.html" class="nav-inspector">Inspector</a></li>
<li><a href="intl.html" class="nav-intl">Internationalization</a></li>
<li><a href="modules.html" class="nav-modules">Modules: CommonJS modules</a></li>
<li><a href="esm.html" class="nav-esm">Modules: ECMAScript modules</a></li>
<li><a href="module.html" class="nav-module">Modules: <code>module</code> API</a></li>
<li><a href="packages.html" class="nav-packages">Modules: Packages</a></li>
<li><a href="net.html" class="nav-net">Net</a></li>
<li><a href="os.html" class="nav-os">OS</a></li>
<li><a href="path.html" class="nav-path">Path</a></li>
<li><a href="perf_hooks.html" class="nav-perf_hooks">Performance hooks</a></li>
<li><a href="policy.html" class="nav-policy">Policies</a></li>
<li><a href="process.html" class="nav-process">Process</a></li>
<li><a href="punycode.html" class="nav-punycode">Punycode</a></li>
<li><a href="querystring.html" class="nav-querystring">Query strings</a></li>
<li><a href="readline.html" class="nav-readline">Readline</a></li>
<li><a href="repl.html" class="nav-repl">REPL</a></li>
<li><a href="report.html" class="nav-report">Report</a></li>
<li><a href="stream.html" class="nav-stream">Stream</a></li>
<li><a href="string_decoder.html" class="nav-string_decoder">String decoder</a></li>
<li><a href="timers.html" class="nav-timers">Timers</a></li>
<li><a href="tls.html" class="nav-tls">TLS/SSL</a></li>
<li><a href="tracing.html" class="nav-tracing">Trace events</a></li>
<li><a href="tty.html" class="nav-tty">TTY</a></li>
<li><a href="dgram.html" class="nav-dgram">UDP/datagram</a></li>
<li><a href="url.html" class="nav-url">URL</a></li>
<li><a href="util.html" class="nav-util">Utilities</a></li>
<li><a href="v8.html" class="nav-v8">V8</a></li>
<li><a href="vm.html" class="nav-vm">VM</a></li>
<li><a href="wasi.html" class="nav-wasi">WASI</a></li>
<li><a href="worker_threads.html" class="nav-worker_threads">Worker threads</a></li>
<li><a href="zlib.html" class="nav-zlib">Zlib</a></li>
</ul>
<hr class="line">
<ul>
<li><a href="https://github.com/nodejs/node" class="nav-https-github-com-nodejs-node">Code repository and issue tracker</a></li>
</ul>
</div>
<div id="column1" data-id="synopsis" class="interior">
<header>
<h1>Node.js v12.22.12 Documentation</h1>
<div id="gtoc">
<ul>
<li>
<a href="index.html">Index</a>
</li>
<li>
<a href="all.html">View on single page</a>
</li>
<li>
<a href="synopsis.json">View as JSON</a>
</li>
<li class="version-picker">
<a href="#">View another version <span>&#x25bc;</span></a>
<ol class="version-picker"><li><a href="https://nodejs.org/docs/latest-v17.x/api/synopsis.html">17.x</a></li>
<li><a href="https://nodejs.org/docs/latest-v16.x/api/synopsis.html">16.x <b>LTS</b></a></li>
<li><a href="https://nodejs.org/docs/latest-v15.x/api/synopsis.html">15.x</a></li>
<li><a href="https://nodejs.org/docs/latest-v14.x/api/synopsis.html">14.x <b>LTS</b></a></li>
<li><a href="https://nodejs.org/docs/latest-v13.x/api/synopsis.html">13.x</a></li>
<li><a href="https://nodejs.org/docs/latest-v12.x/api/synopsis.html">12.x <b>LTS</b></a></li>
<li><a href="https://nodejs.org/docs/latest-v11.x/api/synopsis.html">11.x</a></li>
<li><a href="https://nodejs.org/docs/latest-v10.x/api/synopsis.html">10.x</a></li>
<li><a href="https://nodejs.org/docs/latest-v9.x/api/synopsis.html">9.x</a></li>
<li><a href="https://nodejs.org/docs/latest-v8.x/api/synopsis.html">8.x</a></li>
<li><a href="https://nodejs.org/docs/latest-v7.x/api/synopsis.html">7.x</a></li>
<li><a href="https://nodejs.org/docs/latest-v6.x/api/synopsis.html">6.x</a></li>
<li><a href="https://nodejs.org/docs/latest-v5.x/api/synopsis.html">5.x</a></li>
<li><a href="https://nodejs.org/docs/latest-v4.x/api/synopsis.html">4.x</a></li>
<li><a href="https://nodejs.org/docs/latest-v0.12.x/api/synopsis.html">0.12.x</a></li>
<li><a href="https://nodejs.org/docs/latest-v0.10.x/api/synopsis.html">0.10.x</a></li></ol>
</li>
<li class="edit_on_github"><a href="https://github.com/nodejs/node/edit/master/doc/api/synopsis.md"><span class="github_icon"><svg height="16" width="16" viewBox="0 0 16.1 16.1" fill="currentColor"><path d="M8 0a8 8 0 0 0-2.5 15.6c.4 0 .5-.2.5-.4v-1.5c-2 .4-2.5-.5-2.7-1 0-.1-.5-.9-.8-1-.3-.2-.7-.6 0-.6.6 0 1 .6 1.2.8.7 1.2 1.9 1 2.4.7 0-.5.2-.9.5-1-1.8-.3-3.7-1-3.7-4 0-.9.3-1.6.8-2.2 0-.2-.3-1 .1-2 0 0 .7-.3 2.2.7a7.4 7.4 0 0 1 4 0c1.5-1 2.2-.8 2.2-.8.5 1.1.2 2 .1 2.1.5.6.8 1.3.8 2.2 0 3-1.9 3.7-3.6 4 .3.2.5.7.5 1.4v2.2c0 .2.1.5.5.4A8 8 0 0 0 16 8a8 8 0 0 0-8-8z"/></svg></span>Edit on GitHub</a></li>
</ul>
</div>
<hr>
</header>
<div id="toc">
<h2>Table of Contents</h2>
<ul>
<li><a href="#synopsis_usage_and_example">Usage and example</a>
<ul>
<li><a href="#synopsis_usage">Usage</a></li>
<li><a href="#synopsis_example">Example</a></li>
</ul>
</li>
</ul>
</div>
<div id="apicontent">
<h1>Usage and example<span><a class="mark" href="#synopsis_usage_and_example" id="synopsis_usage_and_example">#</a></span></h1>
<h2>Usage<span><a class="mark" href="#synopsis_usage" id="synopsis_usage">#</a></span></h2>
<p><code>node [options] [V8 options] [script.js | -e "script" | - ] [arguments]</code></p>
<p>Please see the <a href="cli.html#cli_command_line_options">Command Line Options</a> document for more information.</p>
<h2>Example<span><a class="mark" href="#synopsis_example" id="synopsis_example">#</a></span></h2>
<p>An example of a <a href="http.html">web server</a> written with Node.js which responds with
<code>'Hello, World!'</code>:</p>
<p>Commands in this document start with <code>$</code> or <code>></code> to replicate how they would
appear in a user's terminal. Do not include the <code>$</code> and <code>></code> characters. They are
there to show the start of each command.</p>
<p>Lines that dont start with <code>$</code> or <code>></code> character show the output of the previous
command.</p>
<p>First, make sure to have downloaded and installed Node.js. See <a href="https://nodejs.org/en/download/package-manager/">this guide</a>
for further install information.</p>
<p>Now, create an empty project folder called <code>projects</code>, then navigate into it.</p>
<p>Linux and Mac:</p>
<pre><code class="language-console"><span class="hljs-meta">$</span><span class="bash"> mkdir ~/projects</span>
<span class="hljs-meta">$</span><span class="bash"> <span class="hljs-built_in">cd</span> ~/projects</span></code></pre>
<p>Windows CMD:</p>
<pre><code class="language-console"><span class="hljs-meta">></span><span class="bash"> mkdir %USERPROFILE%\projects</span>
<span class="hljs-meta">></span><span class="bash"> <span class="hljs-built_in">cd</span> %USERPROFILE%\projects</span></code></pre>
<p>Windows PowerShell:</p>
<pre><code class="language-console"><span class="hljs-meta">></span><span class="bash"> mkdir <span class="hljs-variable">$env</span>:USERPROFILE\projects</span>
<span class="hljs-meta">></span><span class="bash"> <span class="hljs-built_in">cd</span> <span class="hljs-variable">$env</span>:USERPROFILE\projects</span></code></pre>
<p>Next, create a new source file in the <code>projects</code>
folder and call it <code>hello-world.js</code>.</p>
<p>Open <code>hello-world.js</code> in any preferred text editor and
paste in the following content:</p>
<pre><code class="language-js"><span class="hljs-keyword">const</span> http = <span class="hljs-built_in">require</span>(<span class="hljs-string">'http'</span>);
<span class="hljs-keyword">const</span> hostname = <span class="hljs-string">'127.0.0.1'</span>;
<span class="hljs-keyword">const</span> port = <span class="hljs-number">3000</span>;
<span class="hljs-keyword">const</span> server = http.createServer(<span class="hljs-function">(<span class="hljs-params">req, res</span>) =></span> {
res.statusCode = <span class="hljs-number">200</span>;
res.setHeader(<span class="hljs-string">'Content-Type'</span>, <span class="hljs-string">'text/plain'</span>);
res.end(<span class="hljs-string">'Hello, World!\n'</span>);
});
server.listen(port, hostname, <span class="hljs-function">() =></span> {
<span class="hljs-built_in">console</span>.log(<span class="hljs-string">`Server running at http://<span class="hljs-subst">${hostname}</span>:<span class="hljs-subst">${port}</span>/`</span>);
});</code></pre>
<p>Save the file, go back to the terminal window, and enter the following command:</p>
<pre><code class="language-console"><span class="hljs-meta">$</span><span class="bash"> node hello-world.js</span></code></pre>
<p>Output like this should appear in the terminal:</p>
<pre><code class="language-console">Server running at http://127.0.0.1:3000/</code></pre>
<p>Now, open any preferred web browser and visit <code>http://127.0.0.1:3000</code>.</p>
<p>If the browser displays the string <code>Hello, World!</code>, that indicates
the server is working.</p>
<!-- API END -->
</div>
</div>
</div>
</body>
</html>