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

Posted jianxian

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于app.use('/static', express.static(path.join(__dirname, 'public')))的理解相关的知识,希望对你有一定的参考价值。

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

技术图片

 

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

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

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

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

例如:

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

技术图片

 

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

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

 

 

 

 

 

.

以上是关于关于app.use('/static', express.static(path.join(__dirname, 'public')))的理解的主要内容,如果未能解决你的问题,请参考以下文章

express(3)—静态资源托管

复习node中加载静态资源--用express+esj

nodejs:app.use处理post请求

express中的中间件

Node.js 上传文件

nodejs实现静态托管