Express中的express.static是什么?

8

我是Node/Express的新手。我正在尝试使用Express构建一个静态网站。我有一个assets目录和一些页面放在项目的根目录下。通过谷歌搜索,我找到了一些类似于这样的资源:

app.use('/assets', express.static(__dirname + '/assets'));

我知道__dirname是当前工作目录,app.use()作为中间件函数,而app.get()等则不是。通过搜索有关express.static的内容,您可以查看文档链接Serving static files in Express

但我仍感到不清楚和困惑。我希望有人能帮助我,提前感谢您。

2个回答

19

express.static公开了一个目录或文件,以特定的URL地址将其内容公开访问。

来自你的示例:

app.use('/assets', express.static(__dirname + '/assets'));
假设 /assets 目录包含两张图片,foo.jpgbar.jpg,那么你可以直接访问它们:

没有更多内容了。

1

app.use(express.static('assets')) 代码用于在Express应用程序中提供静态文件,如图像、CSS文件和JavaScript文件。express.static中间件函数用于将目录或文件公开到特定的URL,以便其内容可以公开访问。在此情况下,assets目录暴露给/assets URL。

例如,如果您在assets目录中有一个名为image.jpg的图像文件,则可以通过以下URL访问它:

http://localhost:3000/assets/image.jpg。


你好,你的回答基本上与其他被接受的答案相同。在回答问题时,如果已经有一个被接受的答案,请确保添加一些有趣/重要的价值。请查看如何回答。 (https://stackoverflow.com/help/how-to-answer) - pierpy

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接