如何使用Node.js搭建一个服务器
在node环境中运行下面的代码
"use strict";
const http = require("http"),
path = require("path"),
url = require("url"),
fs = require("fs");
//path的resolve方法不传参数将返回当前工作目录的绝对路径
let root = path.resolve();
http.createServer(function(req, res){
let filepath;
//通常我们访问网站的时候域名后面并不会加目录结构,所以当我们直接输入域名的时候我们让浏览器自动跳转到index.html
if(req.url === "/"){
//path的join方法可以将多个字符串用"\"拼接起来
filepath = path.join( root, "index.html" );
} else {
filepath = path.join( root, req.url );
}
//判断你所要请求的是否是文件
fs.stat(filepath, function(err, stats){
if( !err && stats.isFile() ) {
//设置响应头信息,可以防止中文乱码
res.writeHead("200", {"content-type":"text/html; charset=utf-8"});
//创建一个阅读流并且将filepath目录所在的文件内容发送给浏览器
fs.createReadStream(filepath).pipe(res);
} else {
console.log("404");
res.writeHead("404");
res.end("404 Not Found");
}
});
//监听5000端口号,如果你的电脑的5000端口号被占用你可以使用其它的端口号
}).listen("5000");
console.log("Server start!!");
注:在上述代码的同一个目录下再创建一个index.html代码
打开浏览器在地址栏中输入:localhost:5000/index.html即可将同一目录下的index页面在网页中打开
如何使用Node.js搭建一个服务器的更多相关文章
- 使用 Node.js 搭建 Web 服务器
使用Node.js搭建Web服务器是学习Node.js比较全面的入门教程,因为实现Web服务器需要用到几个比较重要的模块:http模块.文件系统.url解析模块.路径解析模块.以及301重定向技术等, ...
- 使用Node.js搭建一个本地服务器
let http = require('http'); //创建一个http let server = http.createServer((request,response)=>{ //创建一 ...
- 学习 node.js 搭建web服务器
开始 学习使用 node.js 首先完成搭建一个 web服务器.myweb.js var http = require('http'); var url = require('url'); var h ...
- 用node.js搭建本地服务器
我的第一篇笔记来写写node.js,我对node.js的并不是很了解,基本的项目路径变换还是会的.原先我下载node.js就是我想学vue.js,后来因为工作的繁忙搁浅了我的计划.最近在学习phase ...
- node.js搭建Web服务器
Node.js 博客搭建 一. 学习需求 Node 的安装运行 会安装node,搭建node环境 会运行node. 基础模块的使用 Buffer:二进制数据处理模块 Event:事件模块 fs:文件系 ...
- 使用原生node.js搭建HTTP服务器,支持MP4视频、图片传输,支持下载rar文件
前言 如何安装node.js,如何搭建一个简易的http服务器我这里就不再赘述了,不懂的同学可以先去学习一下.当然了,我写的也就属于简易版的增强版,大家有什么高见的欢迎提出,然后进入正题. 目录结构 ...
- 用node.js搭建一个静态资源站 html,js,css正确加载 跳转也完美实现!
昨天买了一个服务器想着用来测试一些自己的项目,由于是第一次建站,在tomcat,linux,node.js间想了好久.最终因为node搭建比较方便没那么麻烦就决定用node.js来搭建网站项目. 搭建 ...
- 使用 Node.js 搭建一个 API 网关
原文地址:Building an API Gateway using Node.js 外部客户端访问微服务架构中的服务时,服务端会对认证和传输有一些常见的要求.API 网关提供共享层来处理服务协议之间 ...
- Node.js_express_搭建一个服务器
原生 node 服务器 1. 导入 node.js 核心模块 / 自带模块 : http const http = require('http'); // HTTP 库所具有的功能已经赋给了 h ...
随机推荐
- ls bash: cannot create temp file for here-document: No space left on device
出现这种问题,一般是磁盘空间满了,或者是inode满了 使用命令: df -h查询磁盘空间 df -i 查询inode占用 Filesystem Inodes IUsed IFree IUse% Mo ...
- Android 破解
一.反编译 默认你的电脑中完好的有java环境 1.下载 Android killer 链接: https://pan.baidu.com/s/1s6lfm8CbdU9ABYEOhdFWxA 提取码 ...
- SNMP服务安装 Centos6.8环境网络安装
概念: snmp是英文“Simple Network Management Protocol”的缩写,意为:简单网络管理协议. snmp是目前最常用的环境管理协议. snmp被设计成与协议无关的. s ...
- jzyz集训 0612
今天闵神找的题,题目质量还算不错,就是有些偏套路了. 第一题:定义一个排列是合法当且仅当这个排列中不存在大于2的循环节,询问有多少长度为n的排列是合法的且B排列是该排列的子序列. 恩...这题目其实不 ...
- 《CSS权威指南(第三版)》---第五章 字体
这章主要的内容有: 1.字体:一般使用一种通用的字体. 2.字体加粗:一般从数字100 -900 . 3.字体大小:font-size 4.拉伸和调整字体:font-stretch 5.调整字体大小: ...
- php设置文件编码
<?php @header('Content-type: text/html;charset=UTF-8'); ?>
- 基于node.js及express实现中间件,实现post、get
首先,当然是有必要的环境,安装node,这个我就不多说了. 依赖模块: "express": "^4.13.4", "request": & ...
- VC++动态链接库(DLL)编程深入浅出:Q&A(原创)
Q1:extern “C” 是做什么用的? A1:一种情况是多个文件中,变量声明或者函数声明,需要extern “C”,这种情况在这里不做讨论. 在dll工程中,被extern "C&quo ...
- Linux 文本的^M问题
很多人在windows中使用文本编辑器编辑好文本后,传送到linux系统后,使用vi工具打开后发现每一行文本最后都有一个^M号,原因是: 在DOS使用的换行符为 \r\n,我们称为CR(\r)与LF( ...
- bjwc Day2 玄学
早晨起来很开心,因为昨天跟妹子聊天聊到很晚 然后看到了题,感觉:这tm才是冬令营呀! T1构造,并没有找到性质,暴力都懒得打 T2数位dp,状态比较麻烦,看来跟dmy想到一起了,然后搞一下搞完 T3放 ...