gpt4 book ai didi

javascript - 拆分express和app有什么目的吗?

转载 作者:行者123 更新时间:2023-11-30 10:58:33 25 4
gpt4 key购买 nike

我在(每个?)Express 应用中看到这两行。

const express = require('express');
const app = express();

我想知道是否可以将任何参数传递给express()

在这里查看,没有看到任何内容

https://expressjs.com/en/4x/api.html

为什么有的方法在express()上,有的在app()上?

看起来它们应该结合起来,所有的方法都在一个对象上。

最佳答案

express不带任何参数,没有。调用它的目的是创建应用程序对象,因此即使没有参数,您必须调用它也是有意义的。

另一种你经常看到的写法是:

const app = require("express")();

不过,使用 ESM 时需要再次将其分开。

import express from "express"; // Or similar

const app = express();

在您的评论中:

For example, is there anything useful I can do with out creating app? Is there anything I can do only with express?

据我所知,您必须至少创建一个 Application 对象才能使用 Express 做任何有用的事情。请注意,您不必只创建一个 应用程序。这是典型的用例,但您没有理由不能创建在不同端口上运行的多个应用程序。

你可能想知道为什么 express 不能直接从 require 给你一个 Application 对象。原因是模块只加载一次并缓存,所以你从 require 得到的是共享的。所以 Express 导出了 express 函数,您可以使用它来创建 Application 对象(如果需要多个,则可以是复数对象)。

关于javascript - 拆分express和app有什么目的吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59018818/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com