day24-nodejs基础一、nodejs简介1、简介nodejs是一个提供js运行环境的软件2、使用nodejs注意事项没有window,document,不用写dom和bom,只剩下ECMAScript3.nodejs在命令行节点输入控制台节点js文件名2.简单命令盘符:----------输入某个盘符cd/d目录:----------输入a某个目录cd..----------回到上一个目录----------查看当前文件夹树中的所有文件和文件夹-----------查看当前文件夹下的所有文件和文件夹,包括子文件夹及其文件,树状结构cls------------清屏ipconfig------------查看当前电脑网管信息systeminfo------------查看当前电脑的配置信息md文件夹名------------新建文件夹rd文件夹名------------删除foldertypenul>filename------------新建一个文件echocontent>filename------------向文件写入内容renfilenamenewfilename-----------重命名文件delfilename------------删除一个文件3.模块化开发1.IIFE---伪模块开发解决全局污染问题无法解决文件依赖问题2.AMD解决文件依赖问题。第一屏加载很慢,后续操作很流畅。3、CMD实现按需加载文件,首屏加载速度快。后面的操作不是很顺利。4.ES6---***在服务器环境下运行,script标签必须有type='module'属性才能对外共享模块成员。使用export关键字导入其他模块成员。默认使用import关键字导出语法:exportdefaultDefaultexportedmembers----每个模块只允许一个exportdefaultdefaultimport语法:importacceptsnamefrom'moduleidentifier'exportsyntaxondemand:exportmembers按需导出按需导入语法:import{xxx}from'moduleidentifier'exportvara='puppy'--这种export使用import{deconstruction}from'file'或者import*asobjectfrom'file'5.CommonJs规范---*****只适用于nodejsexport:module。exports=data-----exports.key=value注意:import不能赋值给exports:require('文件路径')---后缀可以省略,./不能省略4.内置模块1.fs--filesystemimportBuilt-inmodule:constfs=require('fs')writeFile--写入内容到文件,如果文件不存在,会自动创建,覆盖写入,异步方法语法:fs.writeFile(filepath,datatowrite,err=>{})writeFileSync--写入内容到文件,如果文件不存在,会自动创建,覆盖写入,同步方法语法:fs.writeFileSync(文件路径,要写入的数据)readFile---异步读取如果加上第二个参数-'utf-8'读取文件,就不需要转buffer,直接读取字符串fs.readFile(filepath,'utf-8',(err,data)=>{})//异步读取文件readFileSync---同步读取文件。如果加上第二个参数-'utf-8',则不需要传输缓冲区,直接读取字符串fs.readFileSync(filepath,'utf-8')//同步读取文件existsSync-determine给定的路径是否存在fs.existsSync('filepath')stat-获取路径信息fs.stat('filepath',(err,stats)=>{}//stats表示获取到的信息stats.isFile()---判断路径是否为文件isDirectory()---判断是否为文件夹appendFile-向文件异步追加内容fs.appendFile('文件路径','文本内容',(err)=>{}fs.appendFileSync('./a.txt','abc')---同步追加renameSync-重命名文件fs.renameSync('原文本名','新文本名')unlinkSync-删除文件fs.unlinkSync('textname')2.osimport:constos=require('os')newline-EOL-endofline------------os.EOL获取cpu信息-cpus()--------------os.cpus()获取总内存-totalmem()----------os.totalmem()---单位是字节获取当前空闲内存-freemem()--------os.freemem()3.path介绍:constpath=require('path')join-multiple字符串拼接成路径-----path.join('/a','b','c')---/在服务器环境下,代表根目录basename-获取路径文件名(不包括directories)---path.basename(str)dirname-获取路径的目录部分(不包括文件名)---path.dirname(str)extname-获取路径中的文件后缀---path.extname(str)4.url介绍:consturl=require('url')parse-解析urlURL------url.parse(str)resolve-根据url规则拼接新的urlurl-------url.resolve(str,'../../d/e/fs.html')5.querystring介绍:constqs=require('querystring')//专业处理查询字符串stringify--orencode----qs.stringify(obj)-----将一个对象转换成地址栏中的数据部分字符串parse-----或decode--------qs。parse(str)-------------将地址栏中的数据部分字符串转换为对象6.http-----*简介:consthttp=require('http')创建Server-客户端访问响应客户端时,添加一个函数参数constserver=http.createServer((request,response)=>{}//request-request----response-responseresponse.write('thisismyserver!')//响应内容的方法response.end()//结束本次响应的方法------end方法还可以指定响应内容的端口号-0~65535,7000以上给一个数字server.listen(9527,()=>{//服务器运行后执行的代码}
