我的小笔记 =》Node.js

内容源于阿里云大学——前端开发学习路线

目录

      • 一、node.js是什么?
      • 二、node.js有哪些特点?
      • 三、node.js安装和配置
      • 四、node.js开发网站和传统PHP等开发网站的区别
      • 五、写点代码
        • 1.在REPL运行node.js
        • 2.创建JavaScript文件编写程序

一、node.js是什么?

1.node.js是一个开发平台,就像Java开发平台、.Net开发平台、PHP开发平台、Apple开发平台一样。

何为开发平台?有对应的编程语言、有语言运行时、有能实现特定功能的API(SDK:Software Development Kit)

2.该平台使用的编程语言是JavaScript语言。
3.node.js平台是基于Chome V8 JavaScript 引擎构建。
4.基于node.js可以开发控制台程序(命令行程序、CLI程序)、桌面应用程序(GUI)(借助 node-webkit、electron等框架实现)、Web应用程序(网站)

PHP开发技术栈:LAMP - Linux Apache MySQL PHP

node.js 全栈开发技术栈:MEAN - MOngoDB Express Angular Node.js

二、node.js有哪些特点?

1.事件驱动(当时间触发时,执行传递过来的回调函数)。
2.非租塞 I/O 模型(当执行 I/O 操作时,不会阻塞线程)。
3.单线程。
4.拥有世界上最大的开源库生态系统 —npm。

三、node.js安装和配置

1.下载地址
+ [国内地址]传送门
+ [国外地址]传送门

2.官网术语解释
+ LTS 版本:Long-term Support 版本,长期支持版,即稳定版。
+ Current 版本:Latest Features版本,最新版本,新特性会在该版本中最先加入。
3.注意:
+ 安装完毕后通过通过命令:node -v来确定是否安装成功【注意:打开“命令窗口”的时候建议使用“管理员方式”打开】
+ 可能需要则配置环境变量。
4.可以通过nvm-windows管理一台计算机上的多个node版本。

四、node.js开发网站和传统PHP等开发网站的区别

1.传统开发模式

  • 有Web容器 (Apache、IIS、Tomcat等服务器)

执行流程:浏览器向服务器请求地址,然后服务器上会运行很多的进程,其中有一个阿帕奇(Apache)进程,当浏览器请求8080这个端口,服务器会检查那个进程在监听这个端口,然后发现阿帕奇这个进程在监听8080端口,然后把这个请求交个阿帕奇服务器,然后阿帕奇服务器会解析资源,如果是静态资源,这个时候阿帕奇服务器会直接去磁盘上找到对应的文件,并且读取这个文件,读取到后会响应给浏览器,然后html就可以看多这个资源(图片等);如果是用户请求的是不是是静态资源,假如是a.php文件,这个时候请求的是动态网页,还是一样,根据端口号,服务器把这个请求交个阿帕奇这个web容器,因为请求的是动态资源,所以阿帕奇服务器会先把a.php代码扔到一个php模块里面,然后把a.php文件里的代码执行一遍,然后会生成一个结果,比如说生成一个html网页,然后先把生成这个结果返回阿帕奇服务器,接着阿帕奇服务器再把这个生成的结果返回给浏览器,然后浏览器就看到a.php的最终结果了。

我的小笔记 =》Node.js_第1张图片

2.Node.js开发Web应用程序

  • 没有Web容器(用node.js开发网站不用web容器,因为node.js本身就是基于更底层的http协议,它本身就是一个人http服务器,使用不需要Apache的服务器)

执行流程:首相服务器上要安装node.js这个应用程序,安装好后要启动网站,相当于启动node.exe这个文件,比如说让node.exe这个进程监听8080端口,因为没有web容器,所以node.js本身它就在就在监听8080这个端口,当他在监听8080端口时,浏览器向服务器8080端口发起一个请求,然后服务器收到一个请求,一看它是请求8080端口,服务器上也是跑着很多个进程,它发现node.exe这个进程在监听,然后它会把这个请求直接交给node.exe这个进程来处理,然后node.exe进程接到请求后,无论是请求静态资源还是动态资源,都是由我们自己亲手写代码来处理这个请求,按理来说开发效率会很低,但是你想要用到的东西npm上都已经有人弄出来了,所以用Node.js开发一点都不慢。
我的小笔记 =》Node.js_第2张图片

五、写点代码

1.在REPL运行node.js

REPL(Read Eval Print Loop:交互式解释器) 运行node.js,编译模式,也就是说在命令行里使用node.js编写代码

首先可以用node -v看下node是否安装成功,然后直接执行一个node敲回车,看到一个小箭头>,这就表示已经进入REPL这个环境下,可以看下图,执行js代码完全没问题,它其实跟浏览器的控制台是一样的,如果学习ES6可以这个环境使用一些新的特性,node用的是chome的v8引擎,对ES6支持得非常。
我的小笔记 =》Node.js_第3张图片

2.创建JavaScript文件编写程序

在正式的在node.js下如何去写代码?
首先我们之前在浏览器里是通过网站里的一对script标签来编写JavaScript代码,当代码量比较大是,我们可以单独建一个js文件来写。而在node.js下要写js代码,就是要新建一个JavaScript文件(.js文件)。

JavaScript文件名命名规则:

  • 不要中文
  • 不要包含空格
  • 不要出现node关键字
  • 建议以 ‘-’ 分割单词

案例
我们新建一个js文件,我这里文件叫hello-world.js,js文件里面的代码写了个简单的加法函数,然后要执行这段代码的话,我们需要打开命令行(终端),因为我用的是vscode编辑器,所以软件内部就可以使用终端,然后我们需要先切换到文件的根目录,然后通过node 文件名,就可以用node.js运行这段代码了,运行结果也可以在终端里显示了,具体看下图。
我的小笔记 =》Node.js_第4张图片
出去跑个步先。。。

你可能感兴趣的:(Node.js)