http:
这个模块用来创建http服务。
创建服务: http.createServer(fucntion(req,res){
//这个回调函数是用户输入地址发送请求后触发
设置响应头: res.writeHead(200,{'content-type':'text/html;charset=utf-8'});
设置响应内容: res.write('内容');
响应结束:res.end()
})
监听端口号: server.listen()
url:
url这个模块用来操作用户发送请求的地址,将其序列化为对象,方便操作
var urlads = 'http://www.baidu.com:8080/index.php?name=jack#bbs'
url.parse(urlads) 将一个url地址转为一个对象,如下所示
Url {
protocol: 'http:', //传输协议
slashes: true,
auth: null,
host: 'www.baidu.com:8080', //主机名(域名)+端口号
port: '8080', //端口号
hostname: 'www.baidu.com', //主机名(域名)
hash: '#bbs', //哈希值
search: '?name=jack', //问号加传递的数据
query: 'name=jack', //传递的数据
pathname: '/index.php', //请求的文件路径及名称
path: '/index.php?name=jack', //请求的文件路径名称及传递的数据
href: 'http://www.baidu.com:8080/index.php?name=jack#bbs' //请求的url地址
}
var urlObj = {
protocol: 'http:',
hostname: 'www.baidu.com',
port: '8080',
pathname: '/index.php',
search: '?name=jack',
hash: '#bbs',
}
url.format(urlObj) 将一个对象转为url格式的字符串
输出:http://www.baidu.com:8080/index.php?name=jack#bbs'
fs:
fs模块是服务器端操作文件的模块。我们可以对文件及文件夹进行增删改查。
创建目录:fs.mkdir();
删除目录:fs.rmdir();
重命名目录:fs.rename();
读取目录: fs.readdir(dir,function(err,files){
// files 是一个数组 读取的dir中的所有内容
});
创建文件:fs.writeFile();
查看文件信息:fs.stat('./name',function(err,data){
data.isFile() //读取的是不是一个文件
data.isDirectory() //读取的是不是一个文件夹
});
删除文件: fs.unlink();
同步读取:fs.readFileSync()
异步读取: fs.readFile()
path:
这个模块主要是获取文件的路径的信息。
获取当前文件的路径:path.dirname();
获取当前文件的文件名: path.basename();
获取当前文件的扩展名: path.extname()
querystring:
这个一个针对用户发送的数据进行操作的模块,处理的是url地址?之后的部分。
将一个字符串转为对象格式:querystring.parse();
var str = 'name=jack&age=18'
querystring.parse(str); 输出:{name:'jack',age:18}
将一个对象字面量形式转为字符串以&符连接:queryString.stringify()
var obj = {name:'jack',age:18}
queryString.stringify(obj) 输出:'name=jack&age=18'
global:
在JS中global是window的一部分,但是在node中,global是单独存在的对象。
__filename: 当前运行文件的路径(带当前文件名)
__dirname: 当前运行文件的路径(不带当前文件名)
setInterval(fn,1000) : 定时器
setTimeout(fn,1000) : 定时器
自定义模块
引入: 在require自定义模块的时候一定要加上路径
暴露方法:
exports 用来暴露变量
module.exports用来暴露一个构造函数(不能用exports)
abc.js:
var aa = '11';
var bb = '22';
exports aa =aa;
exports bb = bb;
ss.js:
function abc(name){
this.name = name;
}
abc.prototype = {
say: function(){}
}
module.exports = abc;