Node.js快速创建一个访问html文件的服务器
var http = require('http'), // 引入需要的模块
fs = require('fs'), //引入文件读取模块
cp = require('child_process'), // 可自动打开浏览器模块
url = require("url"),
path = require("path");
http.createServer(function (req, res) {
var pathname = __dirname + url.parse(req.url).pathname; // 对于文件路径统一处理
if (path.extname(pathname) == "") {
pathname += "/html/"; // 欲打开文件的目录
}
if (pathname.charAt(pathname.length - 1) == "/") {
pathname += "index.html"; // 默认打开的文件
}
fs.exists(pathname, function (exists) {
if (exists) {
switch (path.extname(pathname)) { // 不同文件返回不同类型
case ".html":
res.writeHead(200, {
"Content-Type": "text/html"
});
break;
case ".js":
res.writeHead(200, {
"Content-Type": "text/javascript"
});
break;
case ".css":
res.writeHead(200, {
"Content-Type": "text/css"
});
break;
case ".gif":
res.writeHead(200, {
"Content-Type": "image/gif"
});
break;
case ".jpg":
res.writeHead(200, {
"Content-Type": "image/jpeg"
});
break;
case ".png":
res.writeHead(200, {
"Content-Type": "image/png"
});
break;
case ".json":
res.writeHead(200, {
"Content-Type": "text/plain"
})
break;
default:
res.writeHead(200, {
"Content-Type": "application/octet-stream"
});
}
fs.readFile(pathname, function (err, data) {
console.log((new Date()).toLocaleString() + " " + pathname);
res.end(data);
});
} else { // 找不到目录 时的处理
res.writeHead(404, {
"Content-Type": "text/html"
});
res.end("<h1>404 Not Found</h1>");
}
});
}).listen(8088, "127.0.0.1"); // 监听端口
console.log("Server running at http://127.0.0.1:8088/");
cp.exec('start http://127.0.0.1:8088/html/project.html'); // 自动打开默认浏览器
Node.js快速创建一个访问html文件的服务器的更多相关文章
- Node.js快速创建一个Express应用的几个步骤
Node.js 的 Express 框架学习 转载和参考地址: https://developer.mozilla.org/zh-CN/docs/Learn/Server-side/Express_N ...
- 通过node指令自动创建一个package.json文件,并封装发布使用
通过node指令自动创建一个package.json文件,并封装发布使用:https://blog.csdn.net/scu_cindy/article/details/78208268
- npm init node 通过指令创建一个package.json文件及npm安装package.json
描述包的文件是package.json文件. 一个这样的文件,里面的信息还是挺大的.我们可以放弃手动建立.为了练手我们有命令行来建一个这样的包; 完成name,varsion....license项的 ...
- 使用Node.js简单创建一个服务器
首先,我们要了解Node.js不是一种语言,它只是一个除了浏览器之外的,可以运行js的环境. 其次,Node能做些什么 ? web服务器. 命令行工具. 网络爬虫. 桌面应用程序开发等 3.接下 ...
- node 通过指令创建一个package.json文件及npm安装package.json
描述包的文件是package.json文件. 一个这样的文件,里面的信息还是挺大的.我们可以放弃手动建立.为了练手我们有命令行来建一个这样的包; 完成name,varsion....license项的 ...
- node 通过指令创建一个package.json文件
描述包的文件是package.json文件. 一个这样的文件,里面的信息还是挺大的.我们可以放弃手动建立.为了练手我们有命令行来建一个这样的包; 完成name,varsion....license ...
- 在.NET中快速创建一个5GB、10GB或更大的空文件
对于通过UDP进行打文件传输的朋友应该首先会考虑到一个问题,那就是由于UDP并不会根据先来先到原则进行发送,也许你发送端发送的时候是以包1和包2的顺序传输的,但接收端可能以包2和包1 的顺序来进行接收 ...
- Node.js快速入门
Node.js是什么? Node.js是建立在谷歌Chrome的JavaScript引擎(V8引擎)的Web应用程序框架. 它的最新版本是:v0.12.7(在编写本教程时的版本).Node.js在官方 ...
- Node.js 快速了解
最近在学习目前非常火的Node.js 写了一份精简易懂的笔记用于快速了解Node.js技术.如有不对的地方还请多多指教. 注:此篇博文不断更新中. 第一部分:快速了解 1.Node.js是什么? No ...
随机推荐
- 发现了合自己胃口的公众号,但文章太多翻来翻去真麻烦,还好我学了 Python
现在我们大多数人都会或多或少的关注几个公众号,如果发现一个比较合自己胃口的号 对公众号中的文章一定是每篇必读的. 有时候我们关注到宝藏型公众号时发现其历史文章已经好几百甚至上千篇了,而作者又只对其中自 ...
- Python魔法缓存,以数字开始
Python魔法缓存,以数字开始 众所周知,Python是弱类型的脚本语言,变量的定义是不用声明类型的. a = 1 Python所有数字的本质都是对象, 他们是不可改变的数据类型,这意味着改变数字数 ...
- C9K Stackwise Virtual(一)
一.SV技术基本说明 思科Catalyst9K平台的Stackwise Virtual技术是将两个物理的交换机虚拟成一个逻辑的实体(从网络控制层面和管理的角度来看),这两个交换机合二为一之后,将共享相 ...
- Maven多模块项目+MVC框架+AJAX技术+layui分页对数据库增删改查实例
昨天刚入门Maven多模块项目,所以简单写了一个小测试,就是对数据库单表的增删改查,例子比较综合,写得哪里不妥还望大神赐教,感谢! 首先看一下项目结构: 可以看到,一个项目MavenEmployee里 ...
- Mongo日期
当通过mongo shell来插入日期类型数据时,使用new Date()和使用Date()是不一样的: > db.tianyc04.insert({mark:, mark_time:new D ...
- MySQL学习之路8-关联子查询
参考文章https://zhuanlan.zhihu.com/p/41844742 成绩表如下Score: 问题:查询科目中成绩大于平均成绩的记录? SELECT * FROM Score WHERE ...
- pyecharts的使用及总结
包的下载及配置 这个包的相应的配置较多,版本也不兼容,总结一下 预览:pyecharts画图 pip pyecharts pip 各级别地图(6.7个左右) pip jupyter环境 [为了生成pn ...
- Linux CentOS7 开通端口外网端口访问权限
一.查看系统防火墙状态(如果返回 running 代表防火墙启动正常)firewall-cmd --state二.开启端口外网访问1.添加端口 返回 success 代表成功(--permanent永 ...
- hive常用函数六
cast 函数: 类型转换函数,cast(kbcount as int); case when: 条件判断,case when kbcount is not null and cast(kbcount ...
- 使用rem配置PC端自适应大屏
效果如下 使得大屏不论在什么宽高比例依然能展示全部数据 安装 npm install -S postcss-pxtorem rem配置思路 原先的rem函数是能解决大部分的问题的,如果展示不全,也可以 ...