mirror of
https://github.com/webinstall/webi-installers.git
synced 2026-02-14 17:49:53 +00:00
title, homepage, tagline
| title | homepage | tagline |
|---|---|---|
| Node.js | https://nodejs.org | Node.js® is a JavaScript runtime built on Chrome's V8 JavaScript engine. |
To update or switch versions, run webi node@<tag>.
(you can use @lts for long-term support, @beta for pre-releases, or @x.y.z
for a specific version)
Cheat Sheet
Node is great for simple, snappy HTTP(S) servers, and for stitching APIs together with minimal fuss or muss.
Installing node via webi will:
- pick a compatible version from the Node Releases API
- download and unpack to
$HOME/.local/opt/node/ - update your
PATHin$HOME/.config/envman/PATH.env - run
npm config set scripts-prepend-node-path=true- (prevents conflicts with other installed node versions)
- absolutely leave system file permissions alone
- (no dreaded
sudo npmpermission errors)
- (no dreaded
Hello World
node -e 'console.log("Hello, World!")'
> Hello, World!
A Simple Web Server
server.js:
var http = require('http');
var app = function (req, res) {
res.end('Hello, World!');
};
http.createServer(app).listen(8080, function () {
console.info('Listening on', this.address());
});
node server.js
Generate a Secure Random Key
This generates a hex-encoded 128-bit random key.
node -p 'crypto.randomBytes(16).toString("hex")'
This generates a url-safe base64 256-bit random key.
node -p 'crypto.randomBytes(32).toString("base64")
.replace(/\+/g, "-").replace(/\//g, "_").replace(/=/g, "")'
An Express App
mkdir my-server
pushd my-server/
npm init
npm install --save express
app.js:
'use strict';
var express = require('express');
var app = express();
app.use('/', function (req, res, next) {
res.end('Hello, World!');
});
module.exports = app;
server.js:
'use strict';
var http = require('http');
var app = require('./app.js');
http.createServer(app).listen(8080, function () {
console.info('Listening on', this.address());
});
npm start