Node.JS第二讲笔记


大家好,欢迎关注微信公众号:雄雄的小课堂


package包

包结构

包其实就是一个压缩文件,解压之后还原为目录,符合规范的目录,应该包含如下文件:

  • package.json:描述文件

  • bin:可执行的二进制文件

  • lib:Js代码

  • doc:文档

  • test:测试文件


包描述文件package.json

1.包描述文件用于表达非代码的相关信息,它是一个json格式的文件-package.json,位于包的根目录下,是包的主要组成部分

2.包中的主要字段

name  description version  keywords maintainer contributors bugs licenses repositories dependencies  homepage os cpu engine builtin directoies implements  scripts author bin main devDependencies

NPM(Node Package Manage)

介绍说明

1.CommonJs包规范是理论,NPM是一种实践

2.对于Node而言,NPM帮助起完成了第三方模块的发布、安装和以来等,NPM就是管理下载一些东西的。

NPM的命令

1.npm -v:版本

2.npm search 包名:搜索模块包

3.npm install 包名:安装包名

4.npm install 包名 -g:全局模式安装包(全局安装的包一般都是工具,计算机的工具,比如编辑CSS,JS文件)

初始化

命令:npm init,后面直接回车即可,然后就会发现本地多了个package.json文件

安装包

命令:npm install math,回车即可下载,下载完了之后多了个node_modules文件夹

在index.js中引入模块

直接在index.js中写如下代码:

var math = require("math");
console.log(math.add(1,1));

DOS直接执行:

node index.js
执行结果为:2(1+1的和)
删除包名

命令:npm remove 包名

package-lock.json文件

通过该文件绑定依赖

安装并保存依赖

命令:

npm install math --save

执行完之后在package.json中会多了一个键dependencies,依赖

CNPM

中国的npm,阿里镜像,需要安装阿里镜像,命令如下:

npm install -g cnpm --registry=https://registry.npm.taobao.org

####总结

  1. 通过NPM下载的包都放到node_modules文件夹中

  2. 通过NPM下载的包直接通过包名引入

  3. 如果删除了下载的包,执行引入代码时,Node会从文件上一级去寻找,一直找到相应的包,否则报错

Buffer缓冲区

1.从结构上看Buffer非常像一个数组,他的元素为16进制2位数,传统的数组并不能保存二进制数据,而Buffer就是专门保存二进制的数据

2.实际上一个元素就表示内存中的一个字节

3.实际上Buffer中的内存不是通过JavaScript分配的,而是在底层C++申请的

4.我们可以通过Buffer来创建内存中的空间

使用Buffer

1.不需要引入任何的模块,直接使用,就像内置对象一样。

eg:

var str = "hello";
var buf = Buffer.from(str);
console.log(buf);

运行结果:

<Buffer 48 65 6c 6c 6f>
var str = "hello";
console.log(buf.length);  //当前字符占内存的大小  结果为5
console.log(str.length);  //字符串的长度 结果为5

var str = "你好";
console.log(buf.length);  //字符串的长度 结果为6,一个汉字占3byte

创建指定大小的Buffer:

var buf = new Buffer(1024);   //1024字节,也就是1kb

这种方式已经废弃了.

用下面的这一种:

var buf = Buffer.alloc(1024);

另一种方式

var buf1 = Buffer.allocUnsafe(10);
console.log(buf1);

运行结果:

<Buffer b0 3d bb 97 00 02 00 00 b0 44>

区别:

  • alloc:相当于自习课上,上完之后人走了之后书也拿走了

  • allocUnsafe:相当于自习课上,上完之后人走了之后书没有拿走,有残留

API文档地址

http://nodejs.cn/api/  中文文档地址

存放数据
var buf = Buffer.alloc(10);
buf[0] = 0xaa;
buf[1] = 12;
buf[2] = 255;
console.log(buf);

运行结果:

<Buffer aa 0c ff 00 00 00 00 00 00 00>

如果写buf[10]的话,即使越界了也不会报错,但是也不会显示出来

文件系统

简单来说文件系统就是通过node来操作系统中的文件

同步文件的写入

1.打开文件

//fs.openSync(path,flags{,model})  语法
//引入
var fs = require("fs");
//打开文件
var fd = fs.openSync("hello.txt","w");
//console.log(fd); //返回3,证明打开成功

fs.writeSync(fd,"今天周五",3);
fs.close(fd);

执行之后会自动在当前文件夹下面创建hello.txt文件,里面添加内容:今天周五

fs.writeSync(fd,"今天周五",3);  3表示前面的空格。

2.向文件流中写入内容

3.保存或者关闭文件

异步文件的写入

实例:

var fs = require("fs");
fs.open("info.txt","w",function(err,fd){
 console.log(err);
 if(!err){
  fs.write(fd,"今天好开心",function(err,fd){
   if(!err){
    console.log("写入成功");
    fs.close(fd);
   }else{
    console.log("写入失败");
    fs.close(fd);
   }
  });
 }else{
  console.log(fd);
 }
});
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

穆雄雄

哎,貌似还没开张来着呢~

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值