一。1.nsole.log(process.argv);参数一:nodejs环境的路径;参数二表示:当前执行的js文件全 路径
//console.log(process.arch);打印当前系统的架构x64
2…nodejs是模块化开发;
如何定义一个模块:一个JS文件即一个模块(当模块名相同时,只加载最前面的文件)
模块内部成员相互独立
模块成员的导出和导入
导入:var module=require("文件名");
导出(在被导入的文件中写):exports.sum=sum;
或者:module.exports=sum;
模块文件的后缀名有三种形式:.js .json .node(不推荐使用)
3Buffer:本质是一个字节数组
//let buf=new Buffer(2);
//console.log(buf);
//let buf=new Buffer(2);
//console.log(buf);//<Buffer 00 00>
//新写法:
//let buf1=Buffer.alloc(4);
//console.log(buf1)//<Buffer 00 00 00 00>
读取其他数据然后转换成16进制
//let buf2=Buffer.from('allow');
//console.log(buf2.toString());//将16进制的数转为字符
//判断数据是否为Buffer类型
//console.log(Buffer.isBuffer(buf2))//true
//let buf3=Buffer.from('中国');
//console.log(Buffer.byteLength(buf3));//字节长度为6
//let buf3=Buffer.from('中国','ascii');
//console.log(Buffer.byteLength(buf3));//2
concat表示字节数组的拼接
//let buf4=Buffer.concat([buf2,buf3]);
//console.log(buf4);
Buffer实例化方法:
//let buf5=Buffer.alloc(4);
//buf5.write('hello');//给buf5中写入hell
//console.log(buf5);
//let buf5=Buffer.alloc(5);
//buf5.write('hello',2,2);//从buf5中索引为2的位置开始,写入he
//console.log(buf5);
.slice();截取
let buf6=Buffer.from('world');
bufs=buf6.slice(2,3);//包含开始
console.log(bufs.toString());//r
.toJson();不需要显示调用
// 在json.stringify()方法调用时会自动被调用
let buf7=Buffer.from('world');
let json=JSON.stringify(buf7);
console.log(json);
//{"type":"Buffer","data":[119,111,114,108,100]}
二。路径相关
1.
const path=require('path');
//获取路径最后一个部分
//console.log(path.basename('/foo/bar/baz/asdf/quux.html'));
//去掉后缀名
//console.log(path.basename('/foo/bar/baz/asdf/quux.html','.html'));
//获取文件的扩展名
console.log(path.extname('index.html'));//.html
2.路径的格式化处理
//__dirname:获取当前文件路径,但不包含文件名
//let s=path.parse(__dirname);//.parse()将字符串转为对象格式
/*
* { root: 'F:\\',
dir: 'F:\\前端练习',
base: 'ES6相关',
ext: '',
name: 'ES6相关'
}*/
let s=path.parse(__filename);//精确到文件名及后缀
/*
* { root: 'F:\\',
dir: 'F:\\前端练习\\ES6相关',
base: '路径API.js',
ext: '.js',
name: '路径API'
}*/
console.log(s);
3判断是否为绝对路径
console.log(path.isAbsolute('/foo/bar/baz'));//true
//若写文件名则为false
4.拼接路径和规范化路径
console.log(path.join('/foo','bar','baz/asdf','query','../../'));
//\foo\bar\baz\
console.log(path.normalize('C://temp\\\\foo\\bar\\..\\'));
//C:\temp\foo\
5.计算相对路径和绝对路径
//计算相对路径
console.log(path.relative('C:\\orandea\\test\\aaa', 'C:\\orandea\\impl\\bbb'));
//..\..\impl\bbb
//计算绝对路径
console.log(path.resolve('wwwroot', 'static_files/png/', '../gif/image.gif'));
//F:\前端练习\ES6相关\wwwroot\static_files\gif\image.gif
6.两个属性
//两个特殊属性
console.log(path.delimiter);// 环境变量的分隔符(windows中 ; linux中 :)
console.log(path.sep); // 表示路径的分隔符(window是\ linux /)