用nodejs搭建一个简单的服务器
使用nodejs搭建一个简单的服务器
nodejs优点:性能高(读写文件) 数据操作能力强
官网:www.nodejs.org
验证是否安装成功:cmd命令行中输入node -v 如果显示版本号表示安装成功
【常用命令】
切换盘符 d:
进入文件夹 cd nodejs
返回上一级目录 cd..
清屏 cls
展示目录 dir
复制文件名 选中右键--复制
历史操作 上箭头
执行文件 node 文件名(在文件文件夹目录中)
停止命令行 ctrl+c
nodejs可以使用的ECMAScript、读写文件、数据库操作、搭建服务器
nodejs不可以做的是:DOM、BOM
使用node搭建一个服务器:
//1、引入模块 使用的http服务协议是RFC2616 nodejs的作者已经写好了,直接引入就行
var http = require('http');
//引入文件读写模块fs
var fs = require('fs');
//2、创建服务器 函数的参数req是发送给服务器的请求,res是服务器的相应
var httpObj = http.createServer(function(req,res){
//编写url 其中index.html是要服务器读取的文件
var url = req.url=='/'?'index.html':req.url;
//开始文件读取,参数分别是完整的url 编码 和读取完毕执行的函数,注意前后台编码需要一致
fs.readFile('www/'+url,'utf-8',function(err,data){
//res.write服务器的相应,当成功的时候,服务器会传输一个data数据,相应结束需要end
if(err){
res.write('404,您访问的页面不存在');
res.end();
}else{
res.write(data);
res.end();
}
});
});
//监听端口
httpObj.listen();
使用nodejs编写一个sql语句
//和搭建服务器一样,需要先引入模块,mysqle是外生的模块(提前在node中下载),MySQL模块会告诉服务器我们需要add还是get
//1、引入模块,这里多引入了一个mysql模块
var http = require('http');
var fs = require('fs');
var mysql = require('mysql');
//2、连接服务器使用createServer,同样参数也是req和res
var httpObj = http.createServer(function(req,res){
var url = req.url=='/'?'index.html':req.url;
console.log(url);
//给前端提供一个json 写前端接口
//这里多了地址、用户名、密码和数据库
if(url.split('?')[]=='/article'){
//console.log('我要给前端数据接口');
//1.建立连接
var db = mysql.createConnection({
//地址
host:'localhost',
//用户名
user:'root',
//密码
password:'',
//数据库
database:'study'
});
//3、编写sql语句,就是在想请求的时候告诉服务器我们需要add还是get
var sql = 'SELECT * FROM user';
//3.执行sql返回结果
db.query(sql,function(err,data){
if(err){
console.log('失败');
}else{
//console.log(data[0].username);
//console.log(JSON.stringify(data));
res.write(JSON.stringify(data));
res.end();
}
});
}else{
//读取页面
fs.readFile('www/'+url,'utf-8',function(err,data){
if(err){
res.write('404,您访问的页面不存在');
res.end();
}else{
res.write(data);
res.end();
}
});
}
});
//4、监听端口
httpObj.listen();
转载请注明‘转载于Jason齐齐的博客http://www.cnblogs.com/jasonwang2y60/’
用nodejs搭建一个简单的服务器的更多相关文章
- 利用 nodeJS 搭建一个简单的Web服务器(转)
下面的代码演示如何利用 nodeJS 搭建一个简单的Web服务器: 1. 文件 WebServer.js: //-------------------------------------------- ...
- 初学Node(六)搭建一个简单的服务器
搭建一个简单的服务器 通过下面的代码可以搭建一个简单的服务器: var http = require("http"); http.createServer(function(req ...
- 用nodejs搭建一个简单的服务监听程序
作为一个从业三年左右的,并且从事过半年左右PHP开发工作的前端,对于后台,尤其是对以js语言进行开发的nodejs,那是比较有兴趣的,虽然本身并没有接触过相关的工作,只是自己私下做的一下小实验,但是还 ...
- nodeJS搭建一个简单的(代理)web服务器
前端获取数据时经常遇见跨域问题,以前一直用nginx做反向代理.最近在用vuejs,发现webpack-dev-server的代理简单好用.于是仿照写了一个简单的web服务器,用于非webpack的项 ...
- NodeJs创建一个简单的服务器
步骤: 1 //模块化引入 2 let http = require ("http"); 3 4 //创建服务器 5 http.createServer(function(requ ...
- 【netty】(2)---搭建一个简单服务器
netty(2)---搭建一个简单服务器 说明:本篇博客是基于学习慕课网有关视频教学.效果:当用户访问:localhost:8088 后 服务器返回 "hello netty"; ...
- 使用gitblit搭建一个简单的局域网服务器
使用gitblit搭建一个简单的局域网服务器 1.使用背景 现在很多使用github管理代码,但是github需要互联网的支持,而且私有的git库需要收费.有一些项目的代码不能外泄,所以,搭建一个局域 ...
- Golang学习-第二篇 搭建一个简单的Go Web服务器
序言 由于本人一直从事Web服务器端的程序开发,所以在学习Golang也想从Web这里开始学起,如果对Golang还不太清楚怎么搭建环境的朋友们可以参考我的上一篇文章 Golang的简单介绍及Wind ...
- 【日记】搭建一个node本地服务器
用node搭建一个本地http服务器.首先了解htpp服务器原理 HTTP协议定义Web客户端如何从Web服务器请求Web页面,以及服务器如何把Web页面传送给客户端.HTTP协议采用了请求/响应模型 ...
随机推荐
- DevExpress更新至13.1.7
DevExpress下的.NET界面组件 DXperience Universal Suite 最新发布13.1.7版,多个属性的定义方式发生变化,另外还有大量的bug修复.使用DevExpress朋 ...
- Sharepoint学习笔记—习题系列--70-576习题解析 -(Q6-Q8)
Question 6 You are designing a SharePoint 2010 solution that allows users to enter address informat ...
- UIModalPresentationStyle和UIModalTransitionStyle
一.主要用途 弹出模态ViewController是IOS变成中很有用的一个技术,UIKit提供的一些专门用于模态显示的ViewController,如UIImagePickerController等 ...
- xmpp整理笔记:环境的快速配置(附安装包)
现在虽然环信的xmpp框架很火,但是也有一些弊端.环信的框架部分代码不开源,而且收费模式不科学,用户量一直低于免费线则好,一旦超过,收费极高. xmpp感觉还是从xmppFramework框架学起比较 ...
- 利用Dreamweaver配置PHP服务器的站点
配置的步骤: 1.打开Dreamweaver的站点------->新建站点-------->点击保存 2.点击服务器------>保存 3.配置完成之后就可以看到在Dreamweav ...
- 操作系统开发系列—12.c.从Loader加载ELF内核,顺便解释下函数调用过程 ●
实际上,我们要做的工作是根据内核的Program header table的信息进行类似下面这个C语言语句的内存复制: memcpy(p_vaddr, BaseOfLoaderPhyAddr+p_of ...
- Scrum三大角色特点
灵感来自于一段冷笑话: 一天,一头猪和一只鸡在路上散步,鸡看了一下猪说,“嗨,我们合伙开一家餐馆怎么样?”,猪回头看了一下鸡说,“好主意,那你准备给餐馆起什么名字呢?”,鸡想了想说“餐馆名字叫火腿和鸡 ...
- 不用画线 设置UITableView的全屏分隔线
如图 添加如下代码 sTableView.separatorInset = UIEdgeInsetsZero; sTableView.layoutMargins = UIEdgeInsetsZero ...
- iOS 学习 - 9.Block 入门
来自李明杰的视频. block 用来保存一段代码 block 的标志:^ block 跟函数很像: 1).可以保存代码 2).有返回值 3). 有形参 temp1:没有返回值.没有形参的 blo ...
- 【函数】Oracle函数系列(2)--数学函数及日期函数
[函数]Oracle函数系列(2)--数学函数及日期函数 1 BLOG文档结构图 2 前言部分 2.1 导读和注意事项 各位技术爱好者,看完本文后,你可以掌握如下的技能,也可以学到一些其它你所不 ...