- os操作系统模块
- path路径模块
- url模块
- fs文件模块
- 模拟服务器
本篇文章只针对window操作系统
本篇文章只记录常用的几个属性、部分模块,不会全部练习
详情API文档请参考:http://nodejs.cn/api/os.html
os操作系统模块
语法
var os=require("os");
方法
方法名 | 详解 |
---|---|
EOL | 换行 |
hostname() | 主机名 |
type() | 系统 |
totalmem() | 内存 |
cpus() | 所有的cpu |
示例
var os=require("os");
console.log('hello'+os.EOL+"nodejs");//换行
console.log('主机名'+os.hostname());
console.log("系统"+os.type());
console.log("内存:"+os.totalmem());
console.log(os.cpus());
path路径模块
语法
var path=require("path");
方法
方法名 | 详解 |
---|---|
basename(文件路径) | 文件名 |
dirname(文件路径) | 文件夹名 |
extname(文件路径) | 文件后缀名 |
format(对象) | 拼接路径 例如:dir:文件夹路径 base:文件名 |
parse(文件路径) | 拆分路径(与format相反) |
示例
/*
路径模块
*/
var path=require('path');
var testfile='D:\\pk\\dconfig.json';
var name=path.basename(testfile);//文件名
var dname=path.dirname(testfile);//文件夹名
var extname=path.extname(testfile);//后缀名
let ok=path.format({
dir:'c:\\images\\users',
base:'bg1.jpg'
});//拼接路径
let parse=path.parse('c:\\images\\users\\bg1.jpg');//与format相反
console.log("文件名"+name+"文件夹名:"+dname+"后缀:"+extname);
console.log("拼接路径:"+ok);
console.log("拆分路径:",parse);
url模块
语法
const url=new URL('https://example.org/abc?123#find');
属性
属性名 | 详解 |
---|---|
href | 网址路径 |
host | 网址主机部分 |
pathname | 参数名 |
search | 参数值 |
hash | 设置获取片段部分# |
示例
/**
* url模块
*/
const url=new URL('https://example.org/abc?123#find');
console.log(url.hash);//获取片段部分
//设置片段部分
url.hash="sethash";
console.log(url.href);//修改后得到的网址
console.log(url.host);//网址主机部分
console.log(url.pathname);
console.log(url.search);
fs文件读写
语法
var fs=require('fs');
读文件
创建个data.txt文件内容:
hello filesystem
CSDN--->碰磕
//读
fs.readFile('day1/data.txt',(err,data)=>{
if(err){
console.log("读取失败");
return;
}
//data就是读取的数据
// console.log(data);//二进制数据
console.log(data.toString());
})
写文件
const data='Hello 碰磕!';
fs.writeFile('day1/pengke.txt',data,(error)=>{
if(error){
console.log("写文件失败");
return;
}
console.log("写入成功!!!");
})
最终得到一个文件pengke.txt
Hello 碰磕!
模拟服务器(http)
关键模块:http
示例
/**
* 模拟服务器
*/
var http=require("http");
var port=1234;//端口号
var server=http.createServer((req,resp)=>{
//获取浏览器的请求
console.log("获取请求:",req.url);
if(req.url=='/'){
$msg='这里是首页';
}else if(req.url=='/login'){
$msg='这里是登陆页';
}else{
$msg='404';
}
//响应数据
resp.writeHead(200,{'Content-Type':'text/html;charset=utf-8'});
resp.write($msg);
resp.end();
});
server.listen(port);
console.log("服务器运行了....http://127.0.0.1:"+port);
练习(fs+http)
通过修改http路径来写入内容到txt中并且获取出来显示在页面上
/**
* 模拟服务器
*/
var http=require("http");
const fs=require("fs");
var port=1234;//端口号
var server=http.createServer((req,resp)=>{
var data='这里是首页';
//获取浏览器的请求
console.log("获取请求:",req.url);
if(req.url=='/'){
console.log("index");
data='这里是首页';
}else if(req.url=='/login'){
console.log("login");
data='这里是登陆页';
}else{
console.log("404");
data='404';
}
fs.writeFile('day1/pengke.txt',data,(error)=>{
console.log("data="+data);
if(error){
console.log("写文件失败");
return;
}
console.log("写入成功!!!");
})
fs.readFile('day1/pengke.txt','utf-8',(err,datas)=>{
if(err){
console.log("读取失败");
return;
}
//响应数据
resp.writeHead(200,{'Content-Type':'text/html;charset=utf-8'});
resp.write(datas);
// resp.end();
})
});
server.listen(port);
console.log("服务器运行了....http://127.0.0.1:"+port);
内置模块的练习就完结.