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

幽映每白日,清辉照衣裳。这篇文章主要讲述关于app.use(' /static' , express.static(path.join(__dirname, ' public' )))的理解相关的知识,希望能为你提供帮助。
Express官方文档里的静态文件部分有一句话

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

文章图片

 
  这两个都是设置开放静态资源目录,那底下这句作用是什么?先翻译一下
然而,但是,您提供给express.static函数的路径是相对于您启动节点进程的目录的。 如果您从另一个目录运行Express App,则使用要提供服务的目录的绝对路径更为安全:

可以这样理解,第一个是相对路径写法,而第二个是绝对路径写法。
__dirname为绝对路径 path.join()为拼接路径语法

例如:
在其他目录下(即项目目录外)运行时语法为
关于app.use('/static', express.static(path.join(__dirname, 'public')))的理解

文章图片

 
此时如果是第一种写法,则会获取失败,因为这种写法为相对路径写法,即
根据当前运行该指令所在的文件路径去寻找

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

    推荐阅读