静态文件
要供应静态文件(如images、CSS文件和JavaScript文件),请运用Express中的express.static
内置中间件功用,函数署名是:
express.static(root, [options])
root
参数指定从中供应静态资本的根目次,有关options
参数的更多信息,请参阅express.static
。
比方,运用以下代码在名为public
的目次中供应images、CSS文件和JavaScript文件:
app.use(express.static('public'))
如今,你能够加载public
目次中的文件:
http://localhost:3000/images/kitten.jpg
http://localhost:3000/css/style.css
http://localhost:3000/js/app.js
http://localhost:3000/images/bg.png
http://localhost:3000/hello.html
Express会查找相对于静态目次的文件,因而静态目次的称号不是URL的一部分。
要运用多个静态资本目次,请屡次挪用express.static
中间件函数:
app.use(express.static('public'))
app.use(express.static('files'))
Express根据运用express.static
中间件函数设置静态目次的递次查找文件。
注重:为取得最好效果,请运用反向代办缓存来进步效劳静态资本的机能。
要为express.static
函数供应的文件建立假造途径前缀(文件体系中现实不存在途径),请为静态目次指定挂载途径,以下所示:
app.use('/static', express.static('public'))
如今,你能够从/static
途径前缀加载public
目次中的文件。
http://localhost:3000/static/images/kitten.jpg
http://localhost:3000/static/css/style.css
http://localhost:3000/static/js/app.js
http://localhost:3000/static/images/bg.png
http://localhost:3000/static/hello.html
然则,你供应给express.static
函数的途径是相对于启动node历程的目次,假如从另一个目次运转express应用程序,则运用要供应的目次的绝对途径更平安:
app.use('/static', express.static(path.join(__dirname, 'public')))
有关serve-static
函数及其选项的更多详细信息,请参阅serve-static
。