静态html返回
在这篇文章中我们介绍后台路由的概念,后台的路由根据路径返回相应的内容,
首先我们建立一个服务器
let port = 3000 //监听端口
let fs = require ('fs')//用来生成可读流
let http = require ('http')
let url = require ('url')//把路径解析成一个对象
let path = require('path')//用来拼接拼接路径
let mime = require('mime')//设置header的文件类型 路由在这里根据不同的路径返回不同的内容
1.如果访问的是/显示主页html
2.如果是文件将文件读取返回
3.如果是文件夹,默认去找html
4.文件不存在,返回404
例如:
http.createServer (function (req,
res) {
let {pathname, query} = url.parse (req.url, true)//true的作用是将query转换成一个对象
//fs.stat文件状态
fs.stat('.'+pathname,function (err,stats) {
if (err){
res.statusCode = 404//找不到就返回404
res.end(`${pathname} not found`)
} else if(stats.isFile()){//是文件的情况下
res.setHeader('Content-type',mime.getType(pathname)+';charset=utf8')//设置头步返回正确的内容
fs.createReadStream('.'+pathname).pipe(res)//根据不同的路径返回不同的内容
}else if (stats.isDirectory()){//如果是文件夹情况下
res.setHeader('Content-type',mime.getType(pathname)+';charset=utf8')
let p = path.join('.'+pathname,'./inde.html');
}
})
通过以上的四种情况判断就可以根据路由返回相应的正确内容,主要的意思根据后端的路由返回前端需要的内容
静态html返回的更多相关文章
- ASP.NET MVC请求特殊静态文件返回404 Not Found
今天在请求静态的json档案以及woff2档案,会返回404错误,需要在Web.Config里修改: <system.webServer> <modules> <remo ...
- php静态文件返回304
有时一些静态文件(如图片)会由php输出,会发现请求都是200,静态文件每次都去服务器上请求太浪费资源了,这时如何让浏览器缓存图片呢?就需要我们在php中输出304了. 我们可以利用php中的 HTT ...
- [转]网站优化-IIS7下静态文件的优化
本文转自:http://www.cnblogs.com/Leung/archive/2009/10/26/1590256.html 在网站开发过程中,通常我们会对网站的静态文件做处事,像图片文件,CS ...
- ASP.NET Core使用静态文件、目录游览与MIME类型管理
前言 今天我们来了解了解ASP.NET Core中的静态文件的处理方式. 以前我们寄宿在IIS中的时候,很多静态文件的过滤 和相关的安全措施 都已经帮我们处理好了. ASP.NET Core则不同,因 ...
- c++ --> 返回值分析
返回值分析 函数不能通过返回指向栈内存的指针,返回指向堆内存的指针是可以的. 一.返回局部变量的值 可以有两种情况:返回局部自动变量和局部静态变量,比如: int func() { ; // 返回局部 ...
- JAVA之旅(五)——this,static,关键字,main函数,封装工具类,生成javadoc说明书,静态代码块
JAVA之旅(五)--this,static,关键字,main函数,封装工具类,生成javadoc说明书,静态代码块 周末收获颇多,继续学习 一.this关键字 用于区分局部变量和成员变量同名的情况 ...
- JAVA之旅(三)——数组,堆栈内存结构,静态初始化,遍历,最值,选择/冒泡排序,二维数组,面向对象思想
JAVA之旅(三)--数组,堆栈内存结构,静态初始化,遍历,最值,选择/冒泡排序,二维数组,面向对象思想 我们继续JAVA之旅 一.数组 1.概念 数组就是同一种类型数据的集合,就是一个容器 数组的好 ...
- 使用nginx缓存服务器上的静态文件
一.nginx缓存的优点 如图所示,nginx缓存,可以在一定程度上,减少源服务器的处理请求压力. 因为静态文件(比如css,js, 图片)中,很多都是不经常更新的.nginx使用proxy_cach ...
- Freemarker 页面静态化技术使用入门案例
在访问 新闻.活动.商品 详情页面时, 路径可以是 xx[id].html, 服务器端根据请求 id, 动态生成 html 网页,下次访问数据时,无需再查询数据,直接将 html 静态页面返回.这样一 ...
随机推荐
- centos7 安装 nvm
cd 到 /usr/local下创建nvm文件夹,并进入nvm目录, 执行命令: wget -qO- https://raw.githubusercontent.com/creationix/nvm/ ...
- LeetCode 771 宝石和石头
Input: J = "aA", S = "aAAbbbb" Output: 3 解:J为宝石字符串,S为包含宝石的字符串,J中的字母如果在S中出现数字就➕1 ...
- UiAutomatorHelper 调试类
package rom; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File; impo ...
- 干净win7要做几步才能运行第一个Spring MVC 写的动态web程序
干净win7要做几步才能运行第一个Spring MVC 写的动态web程序: 1. 下载安装jdk 2. 配置Java环境变量 3. 测试一下第1,2两步是否完全成功:http://jingyan.b ...
- 1.HTML+CSS写个8
感想: 有点缺陷.效果地址:https://codepen.io/flyingliao/pen/QobdyE HTML code: <div class="eight"> ...
- hive orc update
hive-site.xml --><configuration> <!-- WARNING!!! This file is auto generated for documen ...
- flex学习笔记-日历选择与显示
<?xml version="1.0" encoding="utf-8"?> <s:Application xmlns:fx="ht ...
- python之type
>>> isinstance(object,type) True >>> isinstance(list,type) True >>> isins ...
- keepalived nginx 双机热备图文讲解
http://blog.csdn.net/wanglei_storage/article/details/51175418
- 工作记录 rfcn网络结构 caffe time测速和实际运行中速度不相等。
现象: 用caffe time测试网络结构,前向传播是 8 ms左右, 实际集成后运行的时候,forward耗时大概4-5ms. 输入大小是一致的. 于是开始查这个问题. 最后定位到,差别在propo ...