美文网首页转载的~express框架
Express 静态文件访问 express.static

Express 静态文件访问 express.static

作者: 杜乡的AGG | 来源:发表于2016-12-06 11:34 被阅读429次

    图片,CSS样式文件JavaScript文件以及其他静态文件的服务,是通过Express内置的中间件"express.static"来实现的.

    "express.static"中间件直接通过识别被标记为静态资源文件夹的名称来提供静态资源服务.例如:如果你将图片,CSS,和JavaScript文件保存在"public"文件夹中,你可以通过如下方式标记静态资源文件夹:

    app.use(express.static('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.static'中间件:

    app.use(express.static('public'));  
    app.use(express.static('files'));  
    

    Express会按照设置的顺序加载静态文件.

    如果你想创建一个虚拟路径(路径在文件系统中不存在)来提供静态资源服务,你可以为静态资源文件夹指定一个路径,如下:

    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  
    

    参考链接:http://expressjs.com/en/starter/static-files.html

    相关文章

      网友评论

      • a691adbbdfa3:你好,为什么不能这样访问呢?
        http://localhost:3000/static/
        我以为会列出static下所有的目录结构呢?有没有一种方法可以直接显示服务器当前的所有目录树呢

      本文标题:Express 静态文件访问 express.static

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