中间件express.static
我们使用express初始化一个目录的时候,会在app.js中看到一大推的app.use。
其中一个主要的中间件是express.static(4.0版本依旧保留的中间件)
var express = require('express'); var app = express(); app.use('/static',express.static('public'));
通过express.static可以帮助我们托管静态文件,js,css,img等。
express.static使用
基本使用
项目目录下的public下面有css,js,img等文件夹。
我这么需要通过express托管他们,以便我们启动服务器的时候可以访问到这些数据。
在app.js中添加
var express = require('express'); var app = express(); app.use(express.static('public'));
我们就可以通过
http://localhost:3000/css/style.css
http://localhost:3000/js/style.js
http://localhost:3000/img/style.png
注意:所有文件的路径都是相对于存放目录的,因此,存放静态文件的目录名不会出现在 url 中。
虚拟目录
为静态资源目录指定一个挂载路径的方式来实现。
我们可以给我们的静态文件添加虚拟目录,这样有时候方便我们统一管理我们的url,也一目了然地看出资源的属性。
var express = require('express'); var app = express(); app.use('static',express.static('public'));
访问:
http://localhost:3000/static/css/style.css
http://localhost:3000/static/js/style.js
http://localhost:3000/static/img/style.png
注意:这里我们添加了虚拟目录,所以我们的url中必须带上这个目录才能访问的到。