Skip to content
A dev server for rapid prototyping. Setting a directory to a static server.It provides a 404 neat interface for listing the directory's contents and switching into sub folders.
HTML TypeScript JavaScript
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github Update FUNDING.yml Jul 10, 2019
img Update logo. Apr 28, 2019
src feat: Console message for exposed IPs. Dec 29, 2019
.gitignore
README-zh.md Update README-zh.md Jul 10, 2019
README.md Update README.md Jul 29, 2019
package-lock.json released v2.2.0 Dec 29, 2019
package.json
tsconfig.json

README.md

简体中文

A dev server for rapid prototyping. It provides a neat interface for listing the directory's contents and switching into sub folders.

In addition, it's also awesome when it comes to serving static sites. If a directory contains an index.html, serve will automatically render it instead of serving directory contents, and will serve any .html file as a rendered page instead of file's content as plaintext.

Rename: ssr => sgo
sgo: Server Go

⚠️ ssr package has been donated to a certain team in Ali.

Features

🗂 Serve static content like scripts, styles, images from a directory.
🖥 Reroute all non-file requests like / or /admin to a single file.
♻️ Reload the browser when project files get added, removed or modified.
📚 Readable source code that encourages learning and contribution.
💥 Remove the redundancy proxy feature, Please use mocker-api.
⚛️ Preview the static page of the React/Vue/Angular project.


Quick Start

Add sgo as a dev dependency using npm i sgo -D or run directly from the terminal:

npm install -g sgo # install sgo
sgo # Create server
# or
npx sgo [--port] [--dir]

Command help

Usage: sgo [options]

Options:
  --version      Show version number                                   [boolean]
  --port, -p     Set the port.                          [number] [default: 1987]
  --reload-port  Set the reload port.                  [number] [default: 19872]
  --reload, -r   browser from reloading when files change.
                                                       [boolean] [default: true]
  --dir, -d      Specified directory.                     [string] [default: ""]
  --browser, -b  Browser from opening when the server starts.
                                                       [boolean] [default: true]
  --fallback     The file served for all non-file requests.
                                                          [string] [default: ""]
  --help         Show help                                             [boolean]

Examples:

  $ sgo                            Start a dev server.
  $ sgo --no-browser               Prevents the browser from opening when the
                                   server starts.
  $ sgo --no-reload                prevents the browser from reloading when
                                   files change.
  $ sgo --fallback dir/index.html  The file served for all non-file requests..
  $ sgo -p 2019                    Designated port.
  $ sgo -d node_modules/dir        Specified directory "node_modules/dir".

Copyright 2019

Example usage with npm scripts in a project's package.json file:

{
  "scripts": {
    "start": "npx sgo -p 2019"
  }
}

Used in Node.js

const sgo = require('sgo');

// Create server
sgo.default({ port: 1987, dir: '' });
import server from 'sgo';

// Create server
server({ port: 1987, dir: '' });

License

MIT © Kenny Wong

You can’t perform that action at this time.