# nodejs **Repository Path**: liangzhenmeng/nodejs ## Basic Information - **Project Name**: nodejs - **Description**: 第n次系统学习node,记录每个知识点 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2020-04-16 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # nodejs + 异步IO + 事件驱动 ### 内置模块 fs 文件系统 #### 1. 读文件有 同步、异步两种模式 错误优先 0. fs.readFile()/ fs.readFileSync() 1. fs.writeFile(path,{flag:"w",encode:"utf-8"},(err,data)=>{}) #### 文件夹相关操作 ### Buffer相关概念 + js数组不能进行二进制数据的操作 + js不想java,python等语言操作数组时效率那么高 + buffer可以在内存中开辟一段连续的固定大小的内存空间 ##### 两种开辟内存空间(缓存区)的方法 ~~~ //开辟长度为10的内存空间 并将这段内存初始化 let buf1 = Buffer.alloc(10) //开辟空间,但没有进行内存初始化 效率较高,但是不安全,可以读取到内存中原有的内容 let buf2 = Buffer.allocUnsafe(10); let str = "hello world" let buf = Buffer.from(str) console.log(buf) // 16进制串 因二进制过长 console.log(buf.toString()) // hello world ~~~ #### 一般使用不到buffer ,做js神经网络时可能用到,buffer的处理速度至少要比js数组快 10-1000倍。项目中 做图片转二进制时 为处理base64数据中unitcode码为负值的情况,使用buffer进行处理。 ### 爬虫 ### express /express/服务器相关.md #### demo文件 /spider ### 模块引用机制 + 优先去当前目录下查找 + 当前目录没有时回去上层目录node_modules里查找 + 直到系统根目录,寻找不到则会报出异常 ### 常识信息 1. 同一个文件中 同一个模块 无论导入多少次,只会初始化一次。 2.