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文件的服务器的更多相关文章

  1. Node.js快速创建一个Express应用的几个步骤

    Node.js 的 Express 框架学习 转载和参考地址: https://developer.mozilla.org/zh-CN/docs/Learn/Server-side/Express_N ...

  2. 通过node指令自动创建一个package.json文件,并封装发布使用

    通过node指令自动创建一个package.json文件,并封装发布使用:https://blog.csdn.net/scu_cindy/article/details/78208268

  3. npm init node 通过指令创建一个package.json文件及npm安装package.json

    描述包的文件是package.json文件. 一个这样的文件,里面的信息还是挺大的.我们可以放弃手动建立.为了练手我们有命令行来建一个这样的包; 完成name,varsion....license项的 ...

  4. 使用Node.js简单创建一个服务器

    首先,我们要了解Node.js不是一种语言,它只是一个除了浏览器之外的,可以运行js的环境. 其次,Node能做些什么 ? web服务器.  命令行工具.   网络爬虫. 桌面应用程序开发等 3.接下 ...

  5. node 通过指令创建一个package.json文件及npm安装package.json

    描述包的文件是package.json文件. 一个这样的文件,里面的信息还是挺大的.我们可以放弃手动建立.为了练手我们有命令行来建一个这样的包; 完成name,varsion....license项的 ...

  6. node 通过指令创建一个package.json文件

      描述包的文件是package.json文件. 一个这样的文件,里面的信息还是挺大的.我们可以放弃手动建立.为了练手我们有命令行来建一个这样的包; 完成name,varsion....license ...

  7. 在.NET中快速创建一个5GB、10GB或更大的空文件

    对于通过UDP进行打文件传输的朋友应该首先会考虑到一个问题,那就是由于UDP并不会根据先来先到原则进行发送,也许你发送端发送的时候是以包1和包2的顺序传输的,但接收端可能以包2和包1 的顺序来进行接收 ...

  8. Node.js快速入门

    Node.js是什么? Node.js是建立在谷歌Chrome的JavaScript引擎(V8引擎)的Web应用程序框架. 它的最新版本是:v0.12.7(在编写本教程时的版本).Node.js在官方 ...

  9. Node.js 快速了解

    最近在学习目前非常火的Node.js 写了一份精简易懂的笔记用于快速了解Node.js技术.如有不对的地方还请多多指教. 注:此篇博文不断更新中. 第一部分:快速了解 1.Node.js是什么? No ...

随机推荐

  1. new FileReader()

    一.调用FileReader对象的方法 方法名 参数 描述abort none 中断读取readAsBinaryString file 将文件读取为二进制码readAsDataURL file 将文件 ...

  2. 操作系统-2-存储管理之LRU页面置换算法(LeetCode146)

    LRU缓存机制 题目:运用你所掌握的数据结构,设计和实现一个  LRU (最近最少使用) 缓存机制. 它应该支持以下操作: 获取数据 get 和 写入数据 put . 获取数据 get(key) - ...

  3. go 内存优化

    一.斐波那切数列优化 package main import ( "time" "fmt" ) const LIM = 41 var fibs [LIM]uin ...

  4. Linux基础管理篇,软件管理程序,yum与rpm

    一.RPM 一般来说,rpm类型的文件在安装的时候,会检测当前的系统是否满足当前软件需要的环境.若符合,则该软件就会被安装,并且会把软件的相关信息写入/var/lib/rpm/目录下的数据库文件中. ...

  5. eclipse 使用 快捷键

    ctrl + t :查看类的子类和实现类 ctrl + o 查看类实现的方法 ctrl + 1 相当于idea的 alt + enter 补全变量 syso 点  alt + / System.out ...

  6. Python设计模式(6)-原型模式

    import copy class Employee: age = 10 employee_name = 'zxc' class Company: name = '' num = 0 def __in ...

  7. Exchange 2016 OWA登陆异常

    今天,收到脚本的告警信息,有一台Exchange服务器OWA无法登陆! 手动进行了一下测试,发现确实存在问题,报错信息如下: 检查了一下该台服务器的日志,找到了如下信息 1.访问OWA的请求在HTTP ...

  8. tf.nn.conv2d 卷积

    tf.nn.conv2d(input, filter, strides, padding, use_cudnn_on_gpu=None, name=None) 第一个参数input:指需要做卷积的输入 ...

  9. composer 巨慢的解决之道

    扯点犊子 composer 默认的源是在国外的.默认情况下由于大家都心知肚明的一些原因,导致我们使用composer安装一些插件的时候巨慢无比.这个时候怎么办呢? 原理很简单就是更换我们国内的comp ...

  10. 【Java】【设计模式 Design Pattern】单例模式 Singleton

    什么是设计模式? 设计模式是在大量的实践中总结和理论化之后的最佳的类设计结构,编程风格,和解决问题的方式 设计模式已经帮助我们想好了所有可能的设计问题,总结在这些各种各样的设计模式当中,也成为GOF2 ...