初步认识 nodejs

一 node.js的概念:什么是node.js

Node 是一个让 JavaScript 运行在服务端的开发平台,它让 JavaScript 成为与PHP、Python、Perl、Ruby 等服务端语言平起平坐的脚本语言。

二 node.js和javascript的异同

相信接触node.js的人应该之前接触过javascpipt,然后心里面会有这样的疑问,两个到底有什么联系和区别呢?
这里我做以简单的阐述。
web前端javascript组成:
  ECMAScript,(是js的标准,js是它的具体实现和扩展,它描述语言的语法和基本对象,如:语法,运算符,语句,继承机制,数据结构以及一些内置对象)
  DOM(文档对象模型),描述处理网页内容的方法和接口,将整个文档document解析成dom树供用户使用js对文档进行处理。
  BOM(浏览器对象模型),描述可以和浏览器窗口交互的方法和接口(对象结构),如:window对象,history、location、navigator等。
node.js呢?
nodejs除了语言基础ECMAScript外,还有os(操作系统)、file system(文件系统)、net(网络系统)、database(数据库)等,服务端处理所需的功能模块,如java是服务端语言除了语言本身,它也同样有处理文件,网络通信等能力。前端javascript是在浏览器环境下运行的,所以还包括dom和bom这两个浏览器环境下特有的对象模型。
两者在语法上的使用并没有太大的区别,但是,但是,node.js是没有windows对象的,windows对象是javascript的语法,那我们怎么实现相似的功能呢?当然提供了相应的方法。全局对象:global,比如定义全局变量不能使用var a = 100;而是使用global.a=100。这个就先说到这里,具体可以百度global的用法。

三 node.js的安装

这个操作很简单,直接百度搜node.js,找官网。
然后选择你下个你要下载的版本,左边的比较稳定,右边是最新版的,看自己需要下载吧。
图片不知道为什么传不上去,这个看文字就够了。
接下来是安装babel 为什么要安装babel,因为你接下来要安装的很多东西都需要它,打开终端,看你安装了什么终端,我们可以使用电脑自带的终端命令窗口,搜索,然后输入cmd,之后查看node.js -v,可以查看你安装的node.js的版本,注意啊,中间有个空格,如果出来了版本号,那么恭喜你node.js安装成功啦。接下来输入以下命令:
npm install -g babel-cli(这是外国的,所以下载比较慢)
npm install -g cnpm -registry=https://registry.npm.taobao.org(这是淘宝提供的镜像,下载起来就快多了)
两个是一样的,不用担心版本问题,选择一个就好啦。
接下来继续输入:
npm install --save-dev babel-preset-es2015
搞定。

四 写下第一个node.js程序

命令窗口输入 node
进入node编辑环境,输入:
console.log('a');
回车
好啦,第一个node.js代码就搞定了。
其实很多时候node.js代码不在命令端执行,这里推荐两个编辑器:vscode,webstrom,百度下载就行,第二个软件要钱,但是可以使用,这个大家自己斟酌吧。

模块化

提到node.js ,不得不提它最重要的特性:模块化。

Node使用Module模块去划分不同的功能,以简化应用的开发。Modules模块有点像C++语言中的类库。每一个Node的类库都包含了十分丰富的各类函数,比如http模块就包含了和http功能相关的很多函数,可以帮助开发者很容易地对比如http,tcp/udp等进行操作,还可以很容易的创建http和tcp/udp的服务器。
要在程序中使用模块是十分方便的,只需要如下:
在这里,引入了http类库,并且对http类库的引用存放在http变量中了。这个时候,Node会在我们应用中搜索是否存在node_modules的目录,并且搜索这个目录中是否存在http的模块。如果Node.js找不到这个目录,则会到全局模块缓存中去寻找,用户可以通过相对或者绝对路径,指定模块的位置,比如:

var myModule = require(’./myModule.js’);
模块中包含了很多功能代码片断,在模块中的代码大部分都是私有的,意思是在模块中定义的函数方法和变量,都只能在同一个模块中被调用。当然,可以将某些方法和变量暴露到模块外,这个时候可以使用exports对象去实现。

node.js的优点

Node作为一个新兴的前端框架,后台语言,有很多吸引人的地方:
RESTful API
单线程
Node可以在不新增额外线程的情况下,依然可以对任务进行并发处理 —— Node.js是单线程的。它通过事件循环(event loop)来实现并发操作,对此,我们应该要充分利用这一点 —— 尽可能的避免阻塞操作,取而代之,多使用非阻塞操作。
非阻塞IO
V8虚拟机
事件驱动

六 总结

好啦,这样你就可以学习node.js了,node.js是一个强大的工具,具体操作命令可以访问node.js中文网,祝大家学习愉快,溜了。

猜你喜欢

转载自blog.csdn.net/weixin_44296489/article/details/88542369