一 、设置静态文件目录

语法如下:

app.use(express.static(_dirname + '/public'));  //设置静态文件目录

注: 将静态文件目录设置为项目根目录 + ‘/public’,可以这样写

app.use(express.static(path.join(_dirname, 'public')));

运用path模版的join方法效果和前面是等价的。这里需要引用path模块。

path.join():将多个参数组合成一个 path

二、静态资源文件和动态资源文件是什么?

静态资源文件:对于不同的用户,内容都不会变化的文件。比如不管张三还是李四访问百度,他们所看到的图片、css、js文件都是一样的,我们成为静态资源文件;

动态资源文件: 对于不同用户,做出不同反应的就是动态文件,例如张三李四登陆百度,百度会分别对他们显示“张三,你好”、“李四,你好”,那么负责这些动态逻辑的文件就是动态文件了。

三、 app.use() 方法的作用

app.use : 用来给path注册中间函数的。这个path默认是“/”,也就是处理任何请求,同时注意的是他会处理path下的子路径,如果设置path为‘/hello’,那么请求路径为‘/hello/’,'/hello/nihao','/hello/bye'这样的请求都会交给中间函数处理的。

于是我们现在知道了app.use(express.static(_dirname + '/public'))是将所有请求,先交给express.static(_dirname + '/public')来处理一下。

四、express.static() 方法的作用

为了提供对静态资源文件(图片,css,js文件)的服务,请使用Express内置的中间函数express.static.

传递一个包含静态资源的目录给express.static中间件用于立即开始提供文件。 比如用以下代码来提供public目录下的图片、css文件和js文件:

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

现在可以加载public目录下的文件了:

比如: http://localhost:3000/image/jkk.png

通过多次使用 express。static中间件来添加多个静态资源目录:

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

Express将会按照你设置静态资源目录的顺序来查看静态资源文件。

为了给静态资源文件创建一个虚拟的文件前缀(文件系统中不存在),可以使用express.static函数指定一个虚拟的静态目录,如下:

app.use('/static', express.static('public'))

现在你可以使用‘/static’作为前缀来加载public文件夹下的文件了

比如: http:// localhost:3000/static/image/kitten.jpg

参考文档:https://blog.csdn.net/u010977147/article/details/60956502

http://www.cnblogs.com/slovey/p/9213631.html

NodeJS之 Express框架 app.use(express.static)的更多相关文章

  1. node/静态路由/express框架中的express.static()和app.use()

    此篇文章转载于 express框架中的express.static()和app.use() Express框架在使用app.use中传入express.static设置静态路由时,这个文件夹下的所有文 ...

  2. 71.用express框架,出现 express.Router is not a function

    Express版本太久

  3. Vue nodejs商城项目-搭建express框架环境

    1.express-project 搭建express框架环境 安装express generator生成器 通过生成器自动创建项目 配置分析 安装 cnpm i -g express-generat ...

  4. nodejs之express框架商品管理系统登录功能

    1.该系统主要使用express.body-parser.express-session.ejs.mongodb-connect . npm install express --save npm in ...

  5. Node.js Express 框架学习

    转载:http://JavaScript.ruanyifeng.com/nodejs/express.html#toc0 感觉很牛的样子,不过觉得对初学者没太大用,里面很多例子用的api都没有详细的说 ...

  6. node之Express框架

    Express是node的框架,通过Express我们快速搭建一个完整的网站,而不再只是前端了!所以Express还是非常值得学习的! express有各种中间件,我们可以在官方网站查询其用法. Ex ...

  7. express框架+jade+bootstrap+mysql开发用户注册登录项目

    完整的项目代码(github):https://github.com/suqinhui/express-demo express是基于Node.js平台的web应用开发框架,用express框架开发w ...

  8. express框架开发案例

    express是基于Node.js平台的web应用开发框架,用express框架开发web项目可以直接构建整个项目框架并且将前端页面跟后台贯穿起来,用起来还是灵活的:最近刚开始学习,写篇博客总结下,涉 ...

  9. node.js之express框架

    之前学习过node.js接触过express框架,最近为了编写一个mock server正好用到了express.下面正好就跟大家介绍一下关于express.今天的内容主要围绕这么几个方面? expr ...

随机推荐

  1. 关于jdbc编程的几点需要注意的地方

    代码 private void logDataDb(ArrayList<ReceiveData> datas) { Connection conn = null; PreparedStat ...

  2. Day 38 Semaphore ,Event ,队列

    什么是信号量(multiprocess.Semaphore) 互斥锁同时只允许一个线程更改数据,而信号量semaphore是同时允许一定数量的线程更改数据. 假设商场里有4个迷你唱吧 ,所以通过同时可 ...

  3. if判断和switch case 和三元运算符整理

    if判断和switch case 和三元运算符整理 例子1:if判断写法: <script type="text/javascript"> var num = 12; ...

  4. python 匿名函数 lambda 的使用

    在python中,lambda允许用户快速定义单行函数,当然用户也可以按照典型的函数定义完成函数.lambda的目的就是简化用户定义使用函数的过程. In [6]: s = lambda x: x+1 ...

  5. js处理想要得到数据结构

    例1 var arr = [ { date: "2018-01-10", time: "11:00" }, { date: "2018-01-10&q ...

  6. HTTP/1.0中,状态码200 301 304 403 404 500的含义?

    200 OK 服务器成功处理了请求 301 重定向,请求的URL已移走 304未修改,客户的缓存资源是最新的,要客户端使用缓存 403禁止,请求被服务器拒绝了 404未找到资源 500内部服务器错误, ...

  7. 匹配img标签的正则表达式

    $preg = '/<img.*?src=[\"|\']?(.*?)[\"|\']?\s.*?>/i';//匹配img标签的正则表达式 preg_match_all($ ...

  8. [bug]微信小程序使用 <scroll-view> 和 box-shadow 引起页面抖动

    背景 为了实现点点点动态loading效果,并且方便使用(只需要给一个空元素加一个.loading),有如下代码: .loader { background-color: #fff; font-siz ...

  9. HTML 5 使用 FileReader、FormData实现文件上传

    一.FileReader FileReader 对象允许Web应用程序异步读取存储在用户计算机中的文件(或缓冲区的原始数据),使用File或Blob对象指定要读取的文件或数据. 1.1 实例化 var ...

  10. Python Django 的学习资料

    十分有用的链接: 链接1:http://www.cnblogs.com/wupeiqi/articles/5433893.html   (银角大王) 链接2:https://www.cnblogs.c ...