@edwardxyt/gws-cli
Version:
这是一个web脚手架工具,用于生成基于webpack5,生成typescript+react17+mobx5+reactRouter6的应用。初衷是要解决多入口,多环境。单独编译单独运行的脚手架。做到小而美。拒绝锦上添花。
32 lines (26 loc) • 897 B
JavaScript
const Koa = require("koa");
const serve = require("koa-static");
const connectHistory = require("connect-history-api-fallback");
const detect = require("detect-port");
const path = require("path");
const ip = require("ip");
const R = require("ramda");
const debug = require("debug");
const echo = debug("server:koa");
const app = new Koa();
const port = process.env.npm_package_config_koa_port;
let entry = process.env.npm_config_ENTRY;
let [cluster, project] = R.split("/", entry);
let staticDir = path.join(__dirname, "..", "dist", cluster, project);
echo(`staticDir: ${staticDir}`);
// 配置静态web服务的中间件
app.use(serve(staticDir));
app.use(() => {
const middleware = connectHistory();
return async (ctx, next) => {
middleware(ctx, null, () => {});
await next();
};
});
app.listen(port);
echo(`服务器运行在 http://${ip.address()}:${port}`);