很多人在刚接触appium自动化时,可能会像我一样,按照教程搭建好环境后,却不知道使用appium之前为什么要用到node.js,nodejs到底和appium是什么关系,对nodejs也不是很了解,接下来我和大家一起理解一下他们之间的关系。
一、简单认识Node.js
简单的说 Node.js 就是运行在服务端的 JavaScript。
Node.js 是一个基于Chrome JavaScript 运行时建立的一个平台。(注意:Node.js是一个平台,而不是一门语言)
Node.js是一个非阻塞、事件驱动I/O服务端JavaScript环境,基于Google的V8引擎,V8引擎执行Javascript的速度非常快,性能非常好。
解释下非阻塞和事件驱动
事件驱动:服务器只在用户那边有事件发生的时候才响应
非阻塞:Node.js的应用是通过javascript开发的,然后直接在Google的变态V8引擎上跑。用了Node.js,你就不用担心用户端的请求会在服务器里跑了一段能够造成阻塞的代码了。
对node.js解释很到位的文章:https://blog.csdn.net/mozuncangtianbaxue/article/details/78393839
二、为什么npm命令可以安装appium
npm其实是Node.js的包管理工具(package manager)。
为啥我们需要一个包管理工具呢?因为我们在Node.js上开发时,会用到很多别人写的JavaScript代码。如果我们要使用别人写的某个包,每次都根据名称搜索一下官方网站,下载代码,解压,再使用,非常繁琐。于是一个集中管理的工具应运而生:大家都把自己开发的模块打包后放到npm官网上,如果要使用,直接通过npm安装就可以直接用,不用管代码存在哪,应该从哪下载。
更重要的是,如果我们要使用模块A,而模块A又依赖于模块B,模块B又依赖于模块X和模块Y,npm可以根据依赖关系,把所有依赖的包都下载下来并管理起来。否则,靠我们自己手动管理,肯定既麻烦又容易出错。
三、使用appium之前为什么安装node.js
Appium是使用nodejs实现的,所以node是解释器,首先需要确认安装好
以上的内容是本人自己查资料的见解,若有理解不到位的地方,希望大家评论指出,谢谢!