X-Git-Url: https://git.josue.xyz/?a=blobdiff_plain;f=node%2FREADME.md;h=6f9ae8a3f3d8956fae0104e1296c3d0e545ee3af;hb=a2bb4dba6b81e126884dfdf7028719edea78b974;hp=4c90abd16584a8177231406ccad9f605135bb004;hpb=c887850a8764c2f7c4ceffd81a20b5221d8e7e35;p=webi-installers%2F.git diff --git a/node/README.md b/node/README.md index 4c90abd..6f9ae8a 100644 --- a/node/README.md +++ b/node/README.md @@ -3,28 +3,41 @@ title: Node.js homepage: https://nodejs.org tagline: | Node.js® is a JavaScript runtime built on Chrome's V8 JavaScript engine. -description: | - 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](https://nodejs.org/dist/index.tab) - - download and unpack to `$HOME/.local/opt/node/` - - update your `PATH` in `$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 permisions alone - - (no dreaded `sudo npm` permission errors) --- -Hello World +## Updating and Switch versions + +```bash +webi node@stable +``` + +Use `@lts` for long-term support and the `@beta` tag 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](https://nodejs.org/dist/index.tab) +- download and unpack to `$HOME/.local/opt/node/` +- update your `PATH` in `$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 npm` permission errors) + +### Hello World ```bash node -e 'console.log("Hello, World!")' > Hello, World! ``` -A Simple Web Server +### A Simple Web Server `server.js`: @@ -42,11 +55,26 @@ http.createServer(app).listen(8080, function () { node server.js ``` -An Express App +### Generate a Secure Random Key + +This generates a hex-encoded 128-bit random key. + +```bash +node -p 'crypto.randomBytes(16).toString("hex")' +``` + +This generates a url-safe base64 256-bit random key. + +```bash +node -p 'crypto.randomBytes(32).toString("base64") + .replace(/\+/g, "-").replace(/\//g, "_").replace(/=/g, "")' +``` + +### An Express App ```bash mkdir my-server -pushd my-server +pushd my-server/ npm init npm install --save express ``` @@ -60,7 +88,7 @@ var express = require('express'); var app = express(); app.use('/', function (req, res, next) { - res.end("Hello, World!"); + res.end('Hello, World!'); }); module.exports = app;