1

已编辑

有没有办法只加载通过firebase触发的路由?

目前我有这个代码:

索引.ts

import * as functions from "firebase-functions";
import App from "./api";

export const api = functions.https.onRequest(App);

应用程序.ts

// usual configs helmet, service-accounts, load express passport, cors
const app = express();
registerApiRoutesTo(app);

registerApiRoutesTo.ts

import { Express } from "express";
import { config } from "firebase-functions";
import { readdirSync } from "fs";
import { resolve } from "path";

export default (app: Express) => {
  const apiVersion = `/${config().api.version}/`;
  const routeDirectory = resolve(__dirname, "..", "api", "routes");
  const directories = readdirSync(routeDirectory);

  directories.forEach(route => {
    const appRoute = require(`${routeDirectory}/${route}`);

    app.use(`${apiVersion + route}`, appRoute.default);
  });
};

在我的api/routes我有以下内容:

users
settings
accounts
..many more

现在这运行良好,我还观察到当用户调用其中一个 api 端点时,该函数将触发并再次加载所有路由。

有什么办法让这个“易于管理”loading only the called routes

前任:

如果用户调用用户路由,则registerApiRoutesTo只会加载用户路由

4

0 回答 0