掌握流的概念
node.js中数据传输是分片的流
1.管道流(pipe)
连接I/O之间的一个管道
为了提高性能,减少能耗
2.fs、pipe和zlib 案例
const fs=require(‘fs’)//声明文件系统
const zlib=require(‘zlib’)//申明压缩包的内置模块
const inp=fs.createReadStream(‘要管理文件的路径’);
const out=fs.createWriteStream(‘处理好的文件要放置的路径’);
inp.pipe(zlib).pipe(out);
3.爬虫 (http) 通过后端语言爬取网站中的数据,然后通过特定模块进行清洗,最后将数据输出给前端
4.node.js console模块 底层调用是:process.stdout
5.数据清洗 不支持es6 cheerio 还可以用hostname+port来完成这一操作
6.使用node.js原生代码实现静态服务器(必会)
const http = require( ‘http’ )
const port = 3000
const hostname = ‘localhost’ // 127.0.0.1
http.createServer((request,response) => {
response.writeHead( 200, {
'Content-Type': 'text/html;charset=utf8'
})
response.write('hello world ,我是小红')
response.end()
}).listen(port,hostname,() => {
// 参数: 端口 域名 监听回调
console.log(The Server is running at: http://${ hostname }:${ port }
)
})
port : 3000/ 5000/ 9000 最好
模块化三种类型
1.内置模块引用
2.自定义模块引用
3.第三方插件(模块)都从npm.js中获取
零碎知识点
后端不存在跨域,因为不是在浏览器中运行
自定义模块括号内要写路径
var name=require(’./name.js’)
两个名称一样,可以省略一个
name:name ->name
导出的时候是对象,导入也要用对象接
用module.exports导出数据,用解构赋值来导入
common.js不属于node.js
nrm ls切换源 (npm、taobao等)要确保是npm源
业务
我想在这个js文件中读到package.json中的name字段
precess 进程管理模块、
env 所有的进程中的环境变量
console.log( process.env.npm_package_name ); // foo
console.log( process.env.npm_package_version ); // foo
console.log( process.env.npm_package_main ); // foo
要获取首先要先在package.js中设置