• express托管静态文件


    原来跟着书把express搭上了,现在一系列逻辑功能都写得差不多了,开始研究jade和样式

    需要用到外部css,发现express的配置有问题,这次不乱翻博客了,解答太杂,直接上官方:

    以下内容引自:http://www.expressjs.com.cn/starter/static-files.html

    利用 Express 托管静态文件

    通过 Express 内置的 express.static 可以方便地托管静态文件,例如图片、CSS、JavaScript 文件等。

    将静态资源文件所在的目录作为参数传递给 express.static 中间件就可以提供静态资源文件的访问了。例如,假设在 public 目录放置了图片、CSS 和 JavaScript 文件,你就可以:

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

    现在,public 目录下面的文件就可以访问了。 **注意: 这里的“public”指的要托管的文件夹,你托管后,在jade页面上就可以拖过link和script引入这个目录下的文件夹里的文件了,

    不指定的话,express是找不到外部文件的,不管你的相对路径写得对不对,这段话是给跟我一样的小白的提示,上道的兄弟可以无视。

    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

       所有文件的路径都是相对于存放目录的,因此,存放静态文件的目录名不会出现在 URL 中。 

    如果你的静态资源存放在多个目录下面,你可以多次调用 express.static 中间件: **注意:这个功能比较灵活了,可以托管不同的目录的到自己的服务里

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

    访问静态资源文件时,express.static 中间件会根据目录添加的顺序查找所需的文件。

    如果你希望所有通过 express.static 访问的文件都存放在一个“虚拟(virtual)”目录(即目录根本不存在)下面,可以通过为静态资源目录指定一个挂载路径的方式来实现,如下所示:

    **注意:这是以上两个挂载功能的最高级形式,挂在虚拟的目录下,就跟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://www.expressjs.com.cn/

  • 相关阅读:
    luoguP2016 战略游戏
    [Usaco2006 Nov]Corn Fields牧场的安排
    [Ahoi2009]self 同类分布
    POJ3208:Apocalypse Someday
    [usaco2010 Oct]Soda Machine
    [Usaco2005 Dec]Scales 天平
    PTA的Python练习题(十九)
    堆叠注入
    PHP序列化与反序列化(三)总结实战
    攻防世界web进阶1-12总结篇
  • 原文地址:https://www.cnblogs.com/qianyuqianxun/p/5163628.html
Copyright © 2020-2023  润新知