CLI
leserve also ships as a CLI for serving a module’s export directly,
without writing a serve() call yourself.
Install
Section titled “Install”npm install -g @johnhenry/leserveleserve <path-to-file> [options]Or without a global install:
npx @johnhenry/leserve <path-to-file> [options]Options
Section titled “Options”-p, --port <port>— port number (default:8000)-e, --export <name>— export name to use (default:'default')--echo— enable echo mode
Default behavior
Section titled “Default behavior”By default, leserve serves the default export from the specified file at
localhost:8000.
export default (request) => { return new Response("Default Handler", { headers: { "content-type": "text/plain" }, });};leserve myHandler.mjsThis serves the default export from myHandler.mjs at localhost:8000.
Port flag
Section titled “Port flag”leserve myHandler.mjs -p 8001Serves the default export from myHandler.mjs at localhost:8001.
Export flag
Section titled “Export flag”export const handler = (request) => { return new Response("Named Handler", { headers: { "content-type": "text/plain" }, });};leserve myHandlers.mjs -p 8080 -e handlerServes the export named handler from myHandlers.mjs at localhost:8080.
Echo mode
Section titled “Echo mode”leserve --echoResponds as an echo server: echoes back each request as a response in JSON format, on port 8000 by default.