当前位置: 首页 > news >正文

蒙古网站群建设网站建设技术部奖惩制度

蒙古网站群建设,网站建设技术部奖惩制度,网页如何制作出来的,怎么编辑自己的网站目录 Node.js入门 什么是Node.js Node.js的作用 Node.js安装 Node.js编码注意事项 Buffer(缓冲器#xff09; 定义 使用 fs模块 概念 文件写入 文件读取 文件移动与重命名 文件删除 文件夹操作 查看资源状态 路径问题 path模块 Node.js入门 什么是Node.js …目录 Node.js入门 什么是Node.js Node.js的作用 Node.js安装 Node.js编码注意事项 Buffer(缓冲器 定义 使用 fs模块 概念 文件写入 文件读取 文件移动与重命名 文件删除 文件夹操作 查看资源状态 路径问题 path模块 Node.js入门 什么是Node.js 何为Node.js官方的定义是Node.js是一个开源的跨平台的JavaScript运行环境。简单的来讲Node.js就是一款应用程序是一款软件它可以运行JavaScript。 Node.js的作用 它的主要功能有开发服务器应用让我们可以通过向服务器发送请求服务器可以返回我们想要的数据。 开发工具类应用我们熟悉的WebpackVite以及Babel可以提高我们前端的开发效率与质量。而它们三者都是借助Node.js的开发能力而实现的。 开发桌面端应用比如我们熟悉的VScode它是借助electron框架实现的而electron又是借助与Node.js开发出来的。 Node.js安装 如何进行安装呢可以打开Nodo.js对应的官网Node.js。会出现以下的界面然后可以点击进行安装一般都是点击右边的因此左边的版本会长期维护也是官方推荐使用的。 但是由于Node.js官网是在国外因此可以下载会比较慢也可以直接访问国内的网站Node.js 中文网。下载方式相同还可以查看并选择之前的所有的Node.js版本CNPM Binaries Mirror。点击对应自己想要的版本下载即可。一路next下载完毕之后打开命令窗口输入node -v来进行判断是否安装成功若有输出版本即表示安装成功。 Node.js编码注意事项 在浏览器中的JavaScript包括两大块其一为核心语法ECMAScript。其二为Web API包括DOMBOMAJAXStorageconsole定时器以及alter等。而在Node.js中的JavaScript核心语法也是ECMAScript不同点在于它有属于自己的Node API包括fsurlhttputilconsole定时器path等。 在Node.js中不能使用BOM和DOM的API可以使用console和定时器API。Node.js中的顶级对象为global也可以用globalThis访问顶级对象。 Buffer(缓冲器 定义 Buffer 是一个类似于数组的对象   用于表示固定长度的字节序列。Buffer 本质是一段内存空间专门用来处理 二进制数据   。它的大小是固定的且无法调整。性能较好可以直接对计算机内存进行操作。每个元素的大小为 1 字节 byte 。 使用 创建的方式有如下的三种第一种使用Buffer.alloc。创建的时候会申请内存空间传入的数字为需要申请多少字节数的Buffer它会让每一个字节的值都为0。 第二种使用Buffer.allocUnsafe使用它是需要注意用它创建的buffer中可能会存在旧的数据可能会影响执行的结果但是它的创建速度会比使用Buffer.alloc快。 第三种是使用Buffer.from进行创建它可以传入字符串或者数组来进行创建Buffer。在控制台输出的是十六进制。 // 1.alloc let bufBuffer.alloc(10); console.log(buf);//Buffer 00 00 00 00 00 00 00 00 00 00 // 2.allocUnsafe let buf2Buffer.allocUnsafe(10); console.log(buf2);//Buffer 00 00 00 00 00 00 00 00 00 00 // 3.from let buf3Buffer.from(hello); let buf4 Buffer.from([105, 108, 111, 118, 101, 121, 111, 117]); console.log(buf3)//Buffer 68 65 6c 6c 6f console.log(buf4)//Buffer 69 6c 6f 76 65 79 6f 75 我们可以使用toString方法来将Buffer转为字符串。toString默认是按照utf-8编码方式来进行转换的。 let buf Buffer.from([105, 108, 111, 118, 101, 121, 111, 117]); console.log(buf.toString())//iloveyou 除此之外我们也可以读取以及修改Buffer通过使用[ ]的方式来对数据进行处理。 let buf Buffer.from(hello); // 读取下标为4的字符 console.log(buf[4])//111 // 对其进行修改 buf[4]98; // 读取对应的字符串 console.log(buf.toString())//hellb 注意 如果修改的数值超过255 则超过 8 位数据会被舍弃 。 一个 utf-8 的字符一般 占 3 个字节。 fs模块 概念 fs 全称为 file system 称之为 文件系统 是 Node.js 中的 内置模块 可以对计算机中的磁盘进行操作。例如文件的创建、删除、重命名、移动以及文件内容的写入、读取等文件夹的相关操作。 文件写入 使用writeFile异步写入 它可以传四个参数file文件名data文件中需要写入的数据options选项设置可选以及callback写入回调。在回调函数中声明一个形参err当我们写入失败时err则是写入失败的错误对象若写入成功它等于null。 // 导入fs模块 const fsrequire(fs); // 写入文件 fs.writeFile(./study.txt,今天学习Node.js,err{if(err){console.log(写入失败);return;}console.log(写入成功); }); 当我们执行js文件之后我们就可以在同级的目录下创建一个名为study.txt里面编写了“今天学习Node.js”的txt文件。若本身该目录下就有对应的文件则它会重新编写里面的内容。 我们还可以采取writeFileSync进行文件的写入相比于writeFile方式它是一种同步的执行方式并且它只有三个参数没有最后一个回调函数的参数。写法如下 // 导入fs模块 const fsrequire(fs); fs.writeFileSync(./study.txt,这是一个同步的写入) 补充可能有一些小伙伴对同步以及异步还不太清楚说白了同步就是顺序的执行主线程 会等待其他线程的执行结果然后再继续执行主线程的代码效率较低。而异步不是顺序执行的。主线程不会等待其他线程的执行结果直接执行后续的主线程代码效率较高。 那你有没有想过若我们想要在原本的文件中继续编写东西不覆盖原先编写的内容那我们该如果实现呢我们可以使用到前面介绍的writeFile方法在第三个参数中设它的配置项为flag:a即可实现文件内容的追加。 // 导入fs模块 const fsrequire(fs); // 写入文件 fs.writeFile(./study.txt,并且发布一篇博客!,{flag:a},err{if(err){console.log(写入失败);return;}console.log(写入成功); }); 除了使用以上的方式进行追加还可以使用appendFile / appendFileSync 进行追加写入。appendFile 语法与 writeFile 语法完全相同。都是异步的而appenFileSync则与writeFileSync相似都是同步的。不同点在与一个是写入一个是进行追加。 // 导入fs模块 const fsrequire(fs); // 使用appendFile写入文件 fs.appendFile(./study.txt,并且发布一篇博客!,err{if(err){console.log(写入失败);return;}console.log(写入成功); }); //使用appendFileSync fs.appendFileSync(./study.txt,然后睡觉); // 若想要换行使用/r/n fs.appendFileSync(./study.txt,\r\n然后睡觉); 接一下在介绍一种文件写入方法createWriteStream 流式写入流式写入方式适用于大文件写入或者频繁写入的场景, writeFile 适合于 写入频率较低的场景。 // 导入fs模块 const fsrequire(fs); // 创建写入流对象 const wsfs.createWriteStream(./study.txt); // write ws.write(前天学习Webpack\r\n); ws.write(昨天学习ES6\r\n); ws.write(今天学习Node.js\r\n); //关闭通道可写可不写 ws.close(); 最后文件写入有哪些应用场景呢下载文件、安装软件 、保存程序日志如 Git 、编辑器保存文件 、视频录制都使用到了文件的写入。当需要持久化保存数据的时候应该想到文件写入。 文件读取 Node.js也提供了一些读取文件的方式第一种方式可以使用readFile 异步读取其接收三个参数path 文件路径 options 选项配置可写可不写 callback 回调函数。回调函数有两个参数err以及data,第一个是接受读取失败的对象第二个参数则是读取到的文件的数据。 第二种方式可以使用readFileSync同步读取进行同步读取。只接受两个参数path 文件路径 options 选项配置可选。 // 导入fs模块 const fsrequire(fs); // 使用readFile进行异步读取 fs.readFile(./study.txt,(err,data){if(err){console.log(读取失败);return;}// 使用toString()转为了字符串console.log(data.toString()); }); //使用readFileSync同步读取 let datafs.readFileSync(./study.txt); console.log(data.toString()); 除了以上的两种方式可以读取文件还可以使用createReadStream 流式读取。它接受两个参数path 文件路径 options 选项配置可选。它不是将文件中的数据一次性读取出来的而是一块一块地进行读取。适用于读取大的文件对大文件进行处理。它每一个chunk可以读取65536字节64KB大小的数据。 // 导入fs模块 const fsrequire(fs); // 创建读取流对象 const rsfs.createReadStream(./study.txt); //绑定data事件 rs.on(data,chunk{console.log(chunk.length); }) //绑定end事件。可选 rs.on(end,(){console.log(读取完毕); }); 文件读取的应用场景有很多比如电脑开机 、程序运行 、编辑器打开文件 、查看图片 、播放视频 、播放音乐 、Git 查看日志 、上传文件 以及查看聊天记录等。 文件移动与重命名 在 Node.js 中我们可以使用 rename 或 renameSync 来移动或重命名文件或文件夹。 fs.rename该方法是异步的接收三个参数 oldPath 文件当前的路径、 newPath 文件新的路径、 callback 操作后的回调。而fs.renameSync是同步的并且只接收前两个参数没有回调函数参数。 // 导入fs模块 const fsrequire(fs); // 调用rename方法修改名字 fs.rename(./study.txt,./play.txt,err{if(err){console.log(操作失败);return;}console.log(操作成功); }); //调用rename方法来移动文件 fs.rename(./play.txt,./课程代码/paly.txt,err{if(err){console.log(操作失败);return;}console.log(操作成功); });// 调用renameSync方法修改名字 fs.renameSync(./paly.txt,./study.txt); 文件删除 当我们需要删除文件时我们可以使用Node.js提供的unlink 方法以及rm方法。两个方法的接受参数都相同path 文件路径 callback 操作后的回调。它们都有对应的同步方法unlickSync以及rmSync。在此就只对它们的异步方法进行演示。 // 导入fs模块 const fsrequire(fs); //调用unlink方法 fs.unlink(./study.txt,err{if(err){console.log(删除失败);return;}console.log(删除成功) }); //调用rm方法 fs.rm(./study.txt,err{if(err){console.log(删除失败);return;}console.log(删除成功) });文件夹操作 Node.js 除了可以对文件进行操作之外我们还可以对文件夹进行 创建 、 读取 、 删除 等操作。 首先在 Node.js 中我们可以使用 mkdir 或 mkdirSync 来创建文件夹。mkdir方法接受三个参数 path 文件夹路径 、options 选项配置 可选 、callback 操作后的回调。而mkdirSync只接受前两个参数。前者为异步方法后者为同步方法。 // 导入fs模块 const fsrequire(fs); //使用mkdir创建单个文件夹 fs.mkdir(./Node.js,err{if(err){console.log(创建失败);return;}console.log(创建成功) }); //使用递归创建 fs.mkdir(./a/b/c,{recursive:true},err{if(err){console.log(创建失败);return;}console.log(创建成功) }); 当我们需要在创建的文件夹下面再创建文件夹时我们就需要使用到mkdir方法的第二个参数通过设置{recursive:true}让其可以实现递归创建。 在 Node.js 中我们可以使用 readdir 或 readdirSync 来读取文件夹。readdir 接受三个参数 path 文件夹路径、options 选项配置 可选 以及callback 操作后的回调。回调有两个形参err以及data,err接受失败的对象data为接受成功时的数据将读取到的文件夹中存在的文件的名称以数组的形式输出。 // 导入fs模块 const fsrequire(fs); fs.readdir(./,(err,data){if(err){console.log(读取失败);return;}console.log(data); }); 在 Node.js 中我们可以使用 rmdir 或 rmdirSync 来删除文件夹。rmdir方法接受三个参数path 文件夹路径、options 选项配置 可选 以及callback 操作后的回调。若想要进行递归地删除文件夹需要设置第二个参数为:{recursive:true}。但是不推荐使用rmdir进行递归地删除因为运行之后会有警告。所以若想要进行递归删除可以使用 rm 来进行操作使用方式也rmdir相同。 // 导入fs模块 const fsrequire(fs); //使用rmdir进行删除 fs.rmdir(./Node.js,err{if(err){console.log(删除失败);return;}console.log(删除成功); }) //使用rmdir进行递归删除(不推荐) fs.rmdir(./a,{recursive:true},err{if(err){console.log(删除失败);return;}console.log(删除成功); }) //使用rm进行递归删除推荐 fs.rm(./a,{recursive:true},err{if(err){console.log(删除失败);return;}console.log(删除成功); }) 查看资源状态 我们可以使用 stat 或 statSync 来查看资源的详细信息 ,stat 接受三个参数path 文件夹路径、options 选项配置 可选 、callback 操作后的回调。 // 导入fs模块 const fsrequire(fs); //stat方法 fs.stat(./study.txt,(err,data){if(err){console.log(err);return;}// 输出资源的状态console.log(data);//用于判断该资源是否为文件console.log(data.isFile());//用于判断该资源是否为文件夹console.log(data.isDirectory()); }) 路径问题 fs 模块对资源进行操作时路径的写法有两种相对路径以及绝对路径。 // 导入fs模块 const fsrequire(fs); //相对路径 fs.writeFileSync(./index.html,N-A); //绝对路径 fs.writeFileSync(D:/index.html,N-A) 但是需要注意的是相对路径中所谓的当前目录 指的是命令行的工作目录 而并非是文件的所在目录。所以当命令行的工作目录与文件所在目录不一致时会出现一些 BUG。   因为我们引入了 __dirname 。__dirname 与 require 类似都是 Node.js 环境中的全局变量。__dirname 保存着 当前文件所在目录的绝对路径 可以使用 __dirname 与文件名拼接成绝对路径。 // 导入fs模块 const fsrequire(fs); let data fs.readFileSync(__dirname /study.txt); console.log(data); 使用 fs 模块的时候尽量使用 __dirname 将路径转化为绝对路径这样可以避免相对路径产生的 Bug。 path模块 path 模块提供了 操作路径 的功能以下是它较为常用的几个 API API 说明 path.resolve拼接规范的绝对路径 常用path.sep获取操作系统的路径分隔符path.parse解析路径并返回对象path.basename获取路径的基础名称path.dirname获取路径的目录名path.extname获得路径的扩展名 // 导入fs模块 const fsrequire(fs); const pathrequire(path); //resolve 会使得路径的分隔符统一解决了__dirname拼接之后路径不太规范的问题。 console.log(path.resolve(__dirname,./index.html));//D:\编程\前端\index.html //sep console.log(path.sep);// windows下为 \ Linux下为 / //parse方法可以对路径进行解析返回一个对象:root,dir,base,ext以及name //先通过__filename获取当前文件的绝对路径 let str__filename; console.log(path.parse(str));//返回一个对象:root,dir,base,ext以及name //basename console.log(path.basename(str));//index.js //dirname console.log(path.dirname(str));//D:\编程\前端 //extname console.log(path.extname(str));//.js好啦Node.js的介绍就先到这里了接下来还会持续更新拜拜
http://wiki.neutronadmin.com/news/127168/

相关文章:

  • 遵义网站搭建公司哪家好辽宁营商环境建设网站
  • 网站代码编辑器室内设计工作室排名
  • 做运动鞋的网站视频网络策划是什么
  • 临漳seo整站排名长安区建设局官网站站
  • wordpress弹出搜索郴州做网站seo
  • 广州网站设计公司招聘建设银行官方网站下载安装
  • 那个网站做扑克牌便宜久久建筑网免费下载
  • 建站群赚钱有前途吗宁波江东区网站建设
  • 吉林省建设厅网站特殊工种网站格局
  • 做施工的平台网站织梦网站首页自动更新
  • 西安免费做网站应用软件是什么
  • 之梦一个系统做多个网站山西建设集团网站
  • 微信官方网站长沙做网站的价格
  • 网站建站平台wordpress多程序用户同步
  • 宜春网站推广优化教育网站开发文档
  • 汽车最好网站建设.tel域名不可以做网站域名吗
  • 跨境电商开店西安网站关键词优化推荐
  • 网站上的文章用秀米可以做吗常州做自动化的公司
  • 广东城乡建设厅网站网站模版怎么做
  • 网站建设推广优化公司业余学做衣服上哪个网站
  • 在线购物网站设计霍邱网站设计
  • 柳州做网站去哪家公司好专门做网站的公司叫什么
  • wordpress 网站上传到服务器网站语言包是什么
  • 网站布局策划开发建设网站
  • vs2010做网站登陆界面做app好 还是讯网站好
  • 盐都区城乡建设局网站阿里云网站备份
  • 教育机构网站制作模板上海浦东网站建设公司
  • 淘宝客网站建设任务室内装饰设计效果图
  • 怀集住房和城乡建设部网站制作表格的步骤
  • 做兼职在什么网站找比较好wordpress控制菜单是否显示图片