有什么区别:
app.use('my-directory', express.static(join(__dirname, 'my-directory');
和
app.use(express.static(join(__dirname, 'other-directory'));
如果我没有错,两者似乎也一样。
在第一种情况下,我指定了文件路径,第二种情况是目录名称成为文件路径。
两种变体之间有什么区别?
答案 0 :(得分:1)
app.use
的第一个可选参数指定将应用中间件的基本路径。请参阅此处的文档; app.use
当您不指定此第一个参数时,中间件将应用于所有请求,无论其路径如何。
他们似乎在你的情况下做同样的事情,但事实上,如果你的路径不是以express.static
开头,那么在你的第一种情况下my-directory
永远不会被调用。
答案 1 :(得分:1)
app.use('my-directory', express.static(join(__dirname, 'my-directory');
是一个与安装它的路径一起使用的中间件
没有安装路径app.use(express.static(join(__dirname, 'other-directory'));
这意味着express.static
中间件会在每次请求时执行。
假设foo.html
和my-directory
中都有other-directory
个文件。
在第一种情况下,您会在路径/my-directory/foo.html
找到该文件,在第二种情况下,您会在路径/foo.html
找到该文件。