首页 > 代码库 > 用nodejs搭建一个简单的服务器
用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(80);
使用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(‘?‘)[0]==‘/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(3000);
转载请注明‘转载于Jason齐齐的博客http://www.cnblogs.com/jasonwang2y60/’
用nodejs搭建一个简单的服务器
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。