Node.js和Express简单入门介绍

仅仅入门如何用Node.js和Express搭建一个web服务器,没有说明太多概念性的东西。

一、 Nodejs简介

​ ==Node是JavaScript语言的服务器运行环境。==

​ 所谓“运行环境”有两层意思:首先,JavaScript语言通过Node在服务器运行,在这个意义上,Node有点像JavaScript虚拟机;其次,Node提供大量工具库,使得JavaScript语言与操作系统互动(比如读写文件、新建子进程),在这个意义上,Node又是JavaScript的工具库。

​ Node内部采用Google公司的V8引擎,作为JavaScript语言解释器;通过自行开发的libuv库,调用操作系统资源。

二、Node.js的下载和安装

2.1 Node.js下载

node.js官网下载:https://www.jb51.net/softs/504128.html

官网会根据你当前的操作系统,提供给你最合适的版本去下载。

Node.js和Express简单入门介绍

2.2 安装

​ 下载成功之后是一个msi文件,双击安装即可。安装成功后,相应的环境变量都会自动配置,不需要我们再去手动配置。

Node.js和Express简单入门介绍

​ 一路next就可以安装成功。

2.3 测试Node.js是否安装成功

安装成功之后,可以在window控制台查看是否安装成功。

输入下面的命令查看node的版本。

node -v

直接输入node然后回车,就可以让node去执行我们的js代码了。

node

Node.js和Express简单入门介绍

2.4 使用Node.js运行JavaScript代码

新建一个nodeproject目录,新建一个js文件。01_hello.js

var num1 = 10; var num2 = 20; console.log(num1 + num2);

在windows控制台中,切换目录到js文件所在目录。然后输入

node 01_hello.js

Node.js和Express简单入门介绍

三、Node.js中的一些基本概念澄清

3.1 Node.js不是JS应用、而是JS运行平台

​ 看到Node.js这个名字,初学者可能会误以为这是一个Javascript应用,事实上,Node.js采用C++语言编写而成,是一个Javascript的运行环境。

​ 既然不是Javascript应用,为何叫.js呢?因为Node.js是一个Javascript的运行环境。提到Javascript,大家首先想到的是日常使用的浏览器,现代浏览器包含了各种组件,包括渲染引擎、JavaScript引擎等,其中Javascript引擎负责解释执行网页中的Javascript代码。作为Web前端最重要的语言之一,Javascript一直是前端工程师的专利。不过,Node.js是一个后端的Javascript运行环境(支持的系统包括Linux、Windows),这意味着你可以编写系统级或者服务器端的Javascript代码,交给Node.js来解释执行,

3.2 Node.js与JavaScript的关系

​ JavaScript包括3个部分:ECMAScript-262、BOM、DOM。BOM与浏览器相关,DOM和HTML页面相关。Node.js中只是包括了ECMAScript-262。所以我们以前的一些关于BOM的操作和DOM的操作都是基于浏览器端运行的,在Node.js中是无法使用的。

Node.js和Express简单入门介绍

3.3 Node.js中几个全局变量

global:表示Node所在的全局环境,类似于浏览器的window对象。需要注意的是,如果在浏览器中声明一个全局变量,实际上是声明了一个全局对象的属性,比如var x = 1等同于设置window.x = 1,但是Node不是这样,至少在模块中不是这样(REPL环境的行为与浏览器一致)。在模块文件中,声明var x = 1,该变量不是global对象的属性,global.x等于undefined。这是因为模块的全局变量都是该模块私有的,其他模块无法取到。

process:该对象表示Node所处的当前进程,允许开发者与该进程互动。

console:指向Node内置的console模块,提供命令行环境中的标准输入、标准输出功能。

3.4 Node.js中的几个全局函数

setTimeout():用于在指定毫秒之后,运行回调函数。实际的调用间隔,还取决于系统因素。间隔的毫秒数在1毫秒到2,147,483,647毫秒(约24.8天)之间。如果超过这个范围,会被自动改为1毫秒。该方法返回一个整数,代表这个新建定时器的编号。

clearTimeout():用于终止一个setTimeout方法新建的定时器。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wwyspg.html