【发布时间】:2016-03-14 10:48:06
【问题描述】:
我正在学习使用 NodeJS 和 Express,并且只是使用“express”来为项目生成脚手架。我不明白这样做的目的:
app.use(express.static(path.join(__dirname, 'public')));
我对 app.use() 的理解是把函数加载为中间件,所以app.use(express.static(path.join(__dirname, 'public'))) 一定是加载函数吧?这个函数是否加载了一些我声明为静态文件的路径?
在我的 layout.jade 文件中,我的头部有这一行:
link(rel='stylesheet', href='/stylesheets/style.css')
当我设置 app.use(express.static) 行时,我的应用程序如何知道以“/public”开头的 href 链接(如果它正在这样做)?因为当我摆脱app.use(express.static) 行时,它会给出404 来查找css 文件,即使我将href 更改为'/public/stylesheets/style.css'。
它怎么知道我正在尝试访问该静态文件?如果我有一个名为 'root/stylesheets/style.css' 的文件以及 'root/public/stylesheets/style.css' 怎么办?
【问题讨论】: