流 : stream
const fs = require("fs");
let b = Buffer.alloc(64*1024);
fs.writeFileSync("64k",b);
读取65k文件 : 如果直接通过 readFileSync 读取那么 会一次性把所有内容读取出来
let res = fs.readFileSync("./65k");
console.log(res);
通过流的方式 读取文件
let res = fs.createReadStream("./64k"); // 创建一个可读流
res是流的对象;
需要监听流的读取事件
let count = 0;
获取流的结果 需要把所有的chunk 连接在一起
let str = "";
res.on("data",chunk=>{ // chunk 就是 流分成的小块 ;
// 流会把 大于64k的文件进行拆分 ,拆分成 64k的小文件 进行传递 ;
// 最终传递完毕的标志就是 end事件 ;
count++;
console.log(count);
str+=chunk;
})
流读取完毕的事件
res.on("end",()=>{
console.log(str);
})
post参数
post () 方法是 jQuery ajax 的一种简写函数,用于通过 HTTP POST 请求从服务器载入数据。本文介绍了 post () 方法的语法、参数、回调函数、错误处理和实例,以及如何使用 post () 方法发送表单数据、处理不同的数据类型和跨域请求。
例:
const http = require("http");
const fs = require("fs");
const url = require("url");
const server = http.createServer((req,res)=>{
// 提取路径中的pathname
let {pathname} = url.parse(req.url);
if(pathname==="/"){
let posthtml = fs.readFileSync("./post.html");
res.write(posthtml);
res.end();
}else if(pathname==="/post"){
// 接收post传递过来的参数
// 通过流的方式接受
let str = "";
req.on("data",chunk=>{
str += chunk;
})
req.on("end",()=>{
res.write(str);
res.end();
})
}
})
server.listen(8989);
http 可以 通过 http.get(url,req=>{})获取网页数据 网页数据需要通过流来接收;
http.get 去获取一个网页的数据,然后存储起来 ; 网址需要是 http 请求的网址 ;
www.gd.xinhuanet.com/newscenter/…
npm的基本使用
- npm 是什么? node package manager 包管理工具
- 安装 : 安装nodejs的时候自动安装的;
- 查看 nodejs :
node -v - 查看npm 的版本 :
npm -v
- 查看 nodejs :
- 初始化 package.json文件 :
npm init;因为所有安装的第三方模块都会自动写入到 package.json里; - www.npmjs.com/ 官网
安装包
- `npm install 包名` 或者 `npm i 包名`
删除包
- `npm uninstall 包名`
安装所有记录的包
- `npm i` : 会自动查找 package.json里的依赖信息,一次性下载下来;
安装指定版本的包
- `npm i 包名@版本号`;
开发依赖和生产依赖
- 生产依赖: 开发和生产的时候都需要用到的包 需要加上后缀
npm i 包名 --save或者npm i 包名 -S会写入到 package.json 的 dependencies 里记录 下来 。默认就是 生产依赖 - 开发依赖 : 只是在开发的时候需要用到的包,上线之后不需要用到了 ,需要加上后缀
npm i 包名 --save-dev或者npm i 包名 -D; 会在package.json的 devDependencies里记录下来;
npm的使用
npm的全局安装和局部安装
- 局部安装 : 安装在命令执行的目录,默认安装就是局部安装
npm i jquery less sass; - 全局安装 :
npm i 包名 -g;- 安装到
npm root -g这个位置;多数包 在局部可以引入; - 全局安装nodemon 工具 :
npm i nodemon -g;
- 安装到
npm的下载源地址 ;
- 默认npm会在 registry.npmjs.org/ 服务器地址下载包;
- 切换npm的下载地址源 ,切换成淘宝源;
- 查看当前npm的下载源地址 :
npm config get registry - 更改npm的下载源地址 :
npm config set registry https://registry.npmmirror.com
- 查看当前npm的下载源地址 :
- nrm 工具 :
npm i nrm -g: 全局安装- 通过nrm切换下载源地址 :
npx nrm use taobao: 切换淘宝源地址;npx nrm use npm: 切换官方源地址
cnpm 的使用
- cnpm 和 npm 一样使用 ,默认会使用淘宝源地址;
- 安装 :
npm i cnpm -g;
发布自己的包
发布自己的包
- 1.前提 : 需要把npm的源地址改成官方源地址;
npx nrm use npm;
- 2.需要再 www.npmjs.com/ 里注册账号;
- 3.添加注册的用户名和密码 到本地 :
npm adduser弹出网站 输入刚才注册的用户名和密码 - 4.准备自己的包 进行发布
- 包里一定需要package.json文件
- 包的名字 : 1.不能和现有的包名重复了 2.包名不能太随意;
-
- 发布自己的包 :
npm publish
- 发布自己的包 :
-
- 下载字节的包 :
npm i zz4101module;
- 下载字节的包 :
yarn 的使用
yarn 的使用
- 类似npm ,是 facebook 推出的包管理工具;
- 需要全局安装yarn :
npm i yarn -g;yarn --version查看yarn的版本号
- 安装包 :
yarn add 包名类似npm i 包名 - 删除包 :
yarn remove 包名类似npm uninstall 包名 - 默认是生产依赖 ,可以安装开发依赖 :
yarn add 包名 --dev类似npm i 包名 --save-dev; - 全局安装 :
yarn global add 包名类似npm i 包名 -g; - 通过 :
yarn global dir查看全局安装的路径 yarn安装所有依赖 类似npm i操作