已编辑
有没有办法只加载通过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只会加载用户路由