Express - обслуживать определенные статические приложения в зависимости от субдомена - PullRequest
0 голосов
/ 10 октября 2018

Я хочу обслуживать различное статическое содержимое в зависимости от субдомена

app1.example.com
app2.example.com
app3.example.com

const app1path = path.join(__dirname, "public", "app1");

this.app.use(vhost("app1.localhost:1234", serveStatic(app1path)));

однако я просто получаю Cannot GET /.Что я тут не так делаю?

server.js

import App from "./app";

class Server {

    constructor() {

        this.app = new App();
        this.instance = this.app.instance;
        this.config = this.app.config;
        this.server = this.instance.listen(this.config.port, "0.0.0.0");
        console.log("Server Running On: 0.0.0.0:" + this.config.port);

    }

}
export default Server;

app.js

import express from "express";
import Config from "./config";
import Router from "./routes";
import cors from "cors";
import morgan from "morgan";

class App {

    constructor() {

        // Init
        this.instance = express();
        this.config = new Config();

        // Middleware
        this.instance.use(morgan("combined"));
        this.instance.use(cors());
        this.instance.use(express.json());
        this.instance.use(express.urlencoded({ extended: true }));

        // Routes
        this.router = new Router(this.instance);
    }

}

export default App;

rout.js

    import Config from "./config";
    import CoreRouter from "./app/core.router";
    import vhost from "vhost";
    import serveStatic from "serve-static";
    import path from "path";

    class Router {

        constructor(app) {

            this.app = app;
            this.config = new Config();

            this.app.use("/api/v1/core", CoreRouter);

            const app1 = path.join(__dirname, "public", "app1");

            this.app.use(vhost("app1.localhost", serveStatic(app1)));

        }
    }


export default Router;

/ etc / hosts

127.0.0.1   localhost
127.0.0.1   app1.localhost

ОБНОВЛЕНИЕ: Я предоставил еще немного кода, который, надеюсь, поможет мне с отладкой этогопроблема.переход к app1.localhost:1234 в браузере возвращает меня с Cannot GET /

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...