使用nodeJS创建一个简单的服务器
//新版nodejs都支持es6的语法
//引入http协议模块
const http=require('http');
//createServer有一个回调函数作为参数,每当访问服务器,这个函数就执行
var server = http.createServer(function(req,res){
console.log(req.url);
res.write('ava');
res.end();
});
//端口号可以随意指定
server.listen(8990);
在sublime Text3下可以使用快捷键Ctrl+b来启动服务器运行(ST3需要配置一下),打开浏览器输入http://localhost:8990,回车访问,看到页面显示ava,表示成功运行。
使用nodeJS进行简单的文件操作
同理,需要引入fs模块:
//文件操作——fs模块(File System)
const fs = require('fs');
//读文件 readFile(文件名,回调函数)
//err 错误信息 data 数据
fs.readFile('aaa.txt',function(err,data){
if(err){
console.log('读取错误');
}else{
//将二进制数据转换为字符类型
console.log(data.toString());
}
});
其中aaa.txt是自己准备的文件,放在同一路径下,然后运行,控制台会输入文本中的内容。读取没有错误的话,err为null。
以下是写文件的示例代码:
//文件操作——fs模块(File System)
const fs = require('fs');
//写文件 writeFile(文件名,内容,回调函数)
fs.writeFile('bbb.txt','dkfslf',function(err){
console.log(err);
});
运行后,同目录下会多出一个bbb.txt的文件。
服务器中文件的操作
直接上代码:
const http = require('http');
const fs = require('fs');
var server = http.createServer(function(req,res){
//req.url=>'/index.html'
//读取=>'./www/index.html'
//'./www'+req.url
var file_name = './www'+req.url;
fs.readFile(file_name,function(err,data){
if(err){
res.write('404');
}else{
res.write(data);
}
res.end();//注意位置
});
});
server.listen(8990);
这里请求本地www文件夹下的index.html会有回应,其他直接在页面显示404。