关于app.use('/static', express.static(path.join(__dirname, 'public')))的理解

Express官方文档里的静态文件部分有一句话

 这两个都是设置开放静态资源目录,那底下这句作用是什么?先翻译一下

然而,但是,您提供给express.static函数的路径是相对于您启动节点进程的目录的。 如果您从另一个目录运行Express App,则使用要提供服务的目录的绝对路径更为安全:

可以这样理解,第一个是相对路径写法,而第二个是绝对路径写法。

__dirname为绝对路径
path.join()为拼接路径语法

例如:

在其他目录下(即项目目录外)运行时语法为

此时如果是第一种写法,则会获取失败,因为这种写法为相对路径写法,即

根据当前运行该指令所在的文件路径去寻找

.

猜你喜欢

转载自www.cnblogs.com/jianxian/p/12231068.html