美文网首页
app.use(express.static)

app.use(express.static)

作者: 栗子daisy | 来源:发表于2020-02-25 14:57 被阅读0次
    app.use()注册中间函数

    app.use([path,] function [, function…])
    app.use是用来给path注册中间函数的,这个path默认是'/',也就是处理任何请求,同时要注意的是他会处理path下的子路径,比如如果设置path为'/hello',那么当请求路径为'/hello/','/hello/nihao','/hello/bye'这样的请求都会交给中间函数处理的。
    ————————————————

    express.static() 操作静态资源

    为了提供对静态资源文件(图片、csss文件、javascript文件)的服务,请使用Express内置的中间函数 express.static
    静态文件目录设置为项目根目录+/public
    app.use(express.static(__dirname + '/public'));//设置静态文件目录
    app.use(express.static(path.join(__dirname, 'public')));//和上面是一样的
    Express 会在静态资源目录下查找文件,所以不需要把静态目录public作为URL的一部分。
    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.static 中间件来添加多个静态资源目录,Express 将会按照你设置静态资源目录的顺序来查找静态资源文件:
    app.use(express.static('public'));
    app.use(express.static('files'));


    为了给静态资源文件创建一个虚拟的文件前缀(实际上文件系统中并不存在) ,可以使用 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,更稳妥的方式是使用静态资源文件夹的绝对路径, 提高效率呢,减少不必要的查询:
    app.use('/static', express.static(__dirname + '/public'));
    ————————————————

    相关文章

      网友评论

          本文标题:app.use(express.static)

          本文链接:https://www.haomeiwen.com/subject/skltchtx.html