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

上海品划网站建设有限公司一键logo设计官网

上海品划网站建设有限公司,一键logo设计官网,淄博网站制作公司服务,wordpress 表单 验证码目录 概要**对Node的认识****Node的概念理解****Node和浏览器区别****Node的架构图** **Node的应用场景****Node的安装****安装Node的LTS版本****Node的版本管理工具nvm(了解)** **Node的输入和输出**Node程序传递参数Node的输出 **Node的全局对象****特殊的全局对象****其他的… 目录 概要**对Node的认识****Node的概念理解****Node和浏览器区别****Node的架构图** **Node的应用场景****Node的安装****安装Node的LTS版本****Node的版本管理工具nvm(了解)** **Node的输入和输出**Node程序传递参数Node的输出 **Node的全局对象****特殊的全局对象****其他的全局对象**global对象 Date: August 23, 2024 概要 240824 Sum: 本节主要谈了谈对于 Node 的认识以及 Node 的应用场景。 然后从实践角度谈了谈 Node 的安装过程以及 Node 的输入输出 和 全局对象的理解。 需要记住的东西 Node的概念 Node.js是一个基于V8引擎的JS运行时环境。 Node的安装 nvm与n来进行版本管理 全局对象 浏览器环境的全局对象指window而node环境指global。在新的标准中还有一个globalThis也是指向全局对象的。在浏览器环境下globalThis是指window在node环境下是global。 对Node的认识 Node的概念理解 官方对于Node.js的定义Node.js是一个基于V8 JavaScript引擎的JavaScript运行时环境。 Node.js基于V8引擎来执行JavaScript的代码但是不仅仅只有V8引擎 前面我们知道V8可以嵌入到任何C 应用程序中无论是Chrome还是Node.js事实上都是嵌入了V8引擎来执行JavaScript代码 但是在Chrome浏览器中还需要解析、渲染HTML、CSS等相关渲染引擎另外还需要提供支持浏览器操作的API、浏览器自己的事件循环等 另外在Node.js中我们也需要进行一些额外的操作比如文件系统读/写、网络IO、加密、压缩解压文件等操作 Node和浏览器区别 注意这个暂时看一眼即可 Node的架构图 我们编写的JavaScript代码会经过V8引擎再通过Node.js的Bindings将任务放到Libuv的事件循环中 libuvUnicorn Velociraptor—独角伶盗龙是使用C语言编写的库 libuv提供了事件循环、文件系统读写、网络IO、线程池等等内容 Node的应用场景 前端常用 应用一目前前端开发的库都是以node包的形式进行管理 应用二npm、yarn、pnpm工具成为前端开发使用最多的工具 后端常用 应用三越来越多的公司使用Node.js作为web服务器开发、中间件、代理服务器 应用四大量项目需要借助Node.js完成前后端渲染的同构应用 更多维度 应用五资深前端工程师需要为项目编写脚本工具前端工程师编写脚本通常会使用JavaScript而不是Python或者shell 应用六很多企业在使用Electron来开发桌面应用程序 Node的安装 安装Node的LTS版本 版本概念 LTS版本Long-term support, 长期支持相对稳定一些推荐线上环境使用该版本 Current版本最新的Node版本包含很多新特性 版本选择 如果你是学习使用可以选择current版本 如果你是公司开发建议选择LTS版本面向工作选择LTS版本 Node的安装方式 借助于一些操作系统上的软件管理工具比如Mac上的homebrewLinux上的yum、dnf等 直接下载对应的安装包下载安装 Node的版本管理工具nvm(了解) nvmNode Version Manager nInteractively Manage Your Node.js Versions交互式管理你的Node.js版本 问题这两个工具都不支持window nn is not supported natively on Windows. nvmnvm does not support Windows Node的输入和输出 输出: console.log输入: node aaa.js 参数process.argv Node程序传递参数 正常情况下执行一个node程序直接跟上我们对应的文件即可 node index.js但是在某些情况下执行node程序的过程中我们可能希望给node传递一些参数 node index.js envdevelopment coderwhy如果我们这样来使用程序就意味着我们需要在程序中获取到传递的参数 获取参数其实是在process的内置对象中的 如果我们直接打印这个内置对象它里面包含特别的信息 其他的一些信息比如版本、操作系统等大家可以自行查看后面用到一些其他的我们还会提到 **现在我们先找到其中的argv属性**我们发现它是一个数组里面包含了我们需要的参数 你可能有个疑问为什么叫argv呢 在C/C程序中的main函数中实际上可以获取到两个参数 pargcargument counter的缩写传递参数的个数 pargvargument vector向量、矢量的缩写传入的具体参数。 vector翻译过来是矢量的意思在程序中表示的是一种数据结构。 在C、Java中都有这种数据结构是一种数组结构 在JavaScript中也是一个数组里面存储一些参数信息 我们可以在代码中将这些参数信息遍历出来使用 Node的输出 最常用的输入内容的方式console.log 清空控制台console.clear 打印函数的调用栈console.trace 还有一些其他的方法其他的一些console方法可以自己在下面学习研究一下。 参考https://nodejs.org/dist/latest-v16.x/docs/api/console.html Case: // 1.输出的内容 console.log(Hello World)const num1 100 const num2 200console.log(num1 num2)// 2.给程序输入内容 // node ./webpack.config.js envdevelopment const arg1 process.argv[2] const arg2 process.argv[3]console.log(arg1, arg2)setTimeout(() {// console.clear()console.trace() }, 3000);终端中输入内容 nathanchen192 01_Node基础知识 % node 02_Node的输入和输出.js 100 200 300 Hello World 300 100 200Node的全局对象 特殊的全局对象 为什么我称之为特殊的全局对象呢 这些全局对象实际上是模块中的变量只是每个模块都有看来像是全局变量 在命令行交互中是不可以使用的 包括__dirname、__filename、exports、module、require() __dirname: 获取当前文件所在的路径 __filename: 获取当前文件所在的路径和文件名称 Case: // __dirname当前的文件所在的目录结构(重要) console.log(__dirname) // __filename当前目录文件名称 console.log(__filename)nathanchen192 01_Node基础知识 % node 03_Node中的全局对象.js /Users/nathanchen/Downloads/CoderWhy/05_前端工程化/day48-前端工程化基础/Learn_Node_Webpack_Git/01_Node基础知识 /Users/nathanchen/Downloads/CoderWhy/05_前端工程化/day48-前端工程化基础/Learn_Node_Webpack_Git/01_Node基础知识/03_Node中的全局对象.js其他的全局对象 processconsole定时器setTimeoutsetIntervalsetImmediateprocess.nextglobal和window的区别globalThis **process对象**process提供了Node进程中相关的信息 比如Node的运行环境、参数信息等 后面在项目中我也会讲解如何将一些环境变量读取到 process 的 env 中 **console对象**提供了简单的调试控制台在前面讲解输入内容时已经学习过了。 更加详细的查看官网文档https://nodejs.org/api/console.html **定时器函数**在Node中使用定时器有好几种方式 setTimeout(callback, delay[, …args])callback在delay毫秒后执行一次 setInterval(callback, delay[, …args])callback每delay毫秒重复执行一次 setImmediate(callback[, …args])callbackI / O事件后的回调的“立即”执行 这里先不展开讨论它和setTimeout(callback, 0)之间的区别 因为它涉及到事件循环的阶段问题我会在后续详细讲解事件循环相关的知识 process.nextTick(callback[, …args])添加到下一次tick队列中 具体的讲解也放到事件循环中说明 global对象 global是一个全局对象事实上前端我们提到的process、console、setTimeout等都有被放到global中 我们之前讲过在新的标准中还有一个globalThis也是指向全局对象的 理解在浏览器环境下globalThis是指window在node环境下是global 类似于浏览器中的window global和window的区别 在浏览器中全局变量都是在window上的比如有document、setInterval、setTimeout、alert、console等等 在Node中我们也有一个global属性并且看起来它里面有很多其他对象。 但是在浏览器中执行的JavaScript代码如果我们在顶级范围内通过var定义的一个属性默认会被添加到window对象上 let name nathan console.log(window.name) // nathan但是在node中我们通过var定义一个变量它只是在当前模块中有一个变量不会放到全局中 let name nathan console.log(global.name) // undefined
http://www.sczhlp.com/news/212338/

相关文章:

  • 广州 网站建设 行价中山网站建设策划
  • 上海做网站就用乐云seo十年服装店网页设计网站模板
  • win10搭建服务器做网站舞蹈网页设计素材
  • 如何上传ftp网站程序医院网站怎么做
  • 建设部网站 挂证乡镇信息公开网站建设制度
  • 做视频网站怎么盈利模式客户管理系统 软件
  • ui设计公司网站网站建设 字体版权
  • 温州做网站找哪家好简述建设一个网站的步骤
  • 系统网站推广方案怎么做ui设计师个人优势
  • 团队建设网站带财运的公司名字
  • 网站功能简介什么是整合营销并举例说明
  • 有什么好的网站建设的书重庆市建设工程信息网质量监督
  • 网站开发用的开源系统网站空间需要续费
  • 谷歌网站流量统计uc做购物网站
  • 网站及网页设计费用公共信息服务平台
  • 网站页面的宽度网站怎么增加关键词库
  • 云上的网站怎么做等保那做网站
  • 做网站运营工资多少网站建设asp
  • 那个企业网站是用vue做的wordpress网站图标
  • 网站自己做推广大连房地产网站开发
  • 广东手机网站制作公司wordpress数据库ip
  • 佛山顺德网站设计公司能建设铁塔的公司网站
  • 太原网站建设案例短视频网站如何做推广
  • 无锡设计网站找哪家网站开发w亿玛酷1专注
  • 做网站怎么做推广3天网站seo优化成为超级品牌
  • 品牌高端网站制作企业电子商务网站建设与管理 项目任务 教材
  • 怎么做让自己的网站wordpress文章页面模板
  • 小说网站防盗做的最好的是深圳seo优化关键词排名
  • 苍溪县建设局网站建设工程合同可以约定仲裁管辖吗
  • wordpress 不能提交评论seo怎么做优化计划