Node.js介绍,安装和初体验

作者: 卓三阳 | 来源:发表于2017-12-07 12:42 被阅读154次
    安装学习Node.js之前。我们首先要搞清楚Node.js是什么?

    Node.js官网第一行就指出:Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境。

    通俗一点讲,Node.js 是一个用Chrome's V8 JavaScript engine 构建的 JavaScript 运行时框架。你可以将它理解为一个平台,通过这个平台,你可以用javascript语言来做许多事情,比如web服务器的搭建等等,而这些原来是可以通过java,php,c++等语言实现的。

    在Web领域,大多数的编程语言需要专门的Web服务器作为容器,如ASP,ASP.NET需要IIS作为服务器,PHP需要搭载Apache或Nginx环境等,JSP需要Tomcat服务器等。但对于Node而言,只需要几行代码就可以构建服务器,无需其他容器。这一点,你会在以后的学习中感觉到。

    1.Node的安装

    你可以选择去Node.js官网Node.js中文网去下载安装,我这里就选中文网吧

    • 进入中文网后点击下载
      download.png

    Node.js为win,mac都提供了相应的安装包,你只需下载安装。linux下你可以通过编译后的文件或Source Code源码安装。当然你也可以用相应包管理器如:apt-get、yum安装

    • 检查是否安装成功

    打开命令行,输入node -v,回车,若安装正常,你可以看到node版本号

    • 进入node环境
      在命令行输入node,回车,就会进入Node.js交互环境,在此环境下可输入javascript语句,回车后会得到相应结果。若想退出当前的交互环境,只需连按两次Ctrl+c即可。
    关于版本

    node.js版本我们可以在官网-下载-先前版本下找到所有版本。

    • 问题

    (1)纠结安装哪个版本
    有些人在安装的时候可能会纠结到底安装那个版本,其实我想说,我们不必纠结于这个问题,因为我们都可以找到相应的文档,且使用大同小异。如果是学习,我建议安装最新或较新版本。

    (2)如果想使用多个版本的node.js怎么办(初学者就跳过吧)
    我知道的node版本管理工具由两个,一个是nvm,一个是n。我用的是n。
    安装

    npm i n -g
    //npm会在下面介绍
    

    n模块常用命令

    n //会列出所有安装的版本供你切换
    n latest //安装最新版本
    n stable //安装最新稳定版
    n lts //安装最新长期支持版本
    n rm [版本号] //删除某一版本
    n -h //帮助命令


    2.NPM的安装

    我们知道,安装Node是因为我们要在Node平台上完成开发,那么这个NPM又是什么呢?

    NPM全称为:Node Package Manager,翻译过来就是一个Node.js包管理和分发工具,已经成为了非官方的发布Node模块(包)的标准。NPM本质上就是一个包管理工具。

    • 允许用户从NPM服务器下载别人编写的第三方包到本地使用。
    • 允许用户从NPM服务器下载并安装别人编写的命令行程序到本地使用。
    • 允许用户将自己编写的包或命令行程序上传到NPM服务器供别人使用。

    我们在Node.js上开发时,会引用许多别人写好的模块。当我们每每要使用某个包时,如果每次都要搜索,下载,再使用,就会显得非常麻烦。但是NPM就很好地帮我们解决了这一问题。它是一个包的集中管理工具,大家将自己写的模块打包后都放到NPM的官网上,如果要使用就直接通过NPM安装使用。

    NPM不止这一点好处,当我们要使用的包与其他包之间有关联时,NPM还会根据依赖关系将其他包下载管理起来,避免了我们手动下载的麻烦。

    前面讲了这么多,其实我想说在刚才的Node.Js安装过程中,NPM已经自动安装好了。在命令提示行输入 npm -v,回车,我们可以看到其版本号

    到目前为止,我们的Node就基本上算是安装成功。

    成功就成功,为什么还基本成功。

    因为npm安装插件是从国外服务器下载,受网络影响大,可能出现异常,如果npm的服务器在中国就好了,所以我们乐于分享的淘宝团队干了这事。

    安装cnpm:命令行执行:
    npm install cnpm -g --registry=https://registry.npm.taobao.org;

    注:cnpm跟npm用法完全一致,只是在执行命令时将npm改为cnpm。


    3.第一个Node程序的实现

    打开编辑器,编辑以下代码:


    test.js.png

    到这里,我相信大家知道会输出什么,那就是6个6。如果你还是认为0-5,那还是先回去学习学习js吧

    回到正题,将文件保存为test.js,注意只能以.js结尾,并且文件名只能是英文字母、数字和下划线的组合.然后打开命令行窗口,将目录切换到test.js文件所在的目录,输入:node 文件名,回车执行程序


    res.png

    当然你也可以在node环境下直接运行上面的语句,像这样,结果是一样的


    node.js.png

    好啦,我们的第一个Node程序就完成了,是不是感觉和(hello world!)一样简单?哈哈,在以后学习node.j过程中,你会发现node.js没那么简单。


    4.为什么要使用Node.js

    每种语言都有优劣,Node.js也不例外
    Node.js的优点在于借助JavaScript天生的事件驱动机制、非阻塞式 I/O 的模型加上V8高性能引擎,使编写高性能Web服务轻而易举。
    这里需要解释的有两点:
    1.事件驱动、非阻塞I/O。由于Node.js是单进程单线程的应用程序根本不能进行同步IO操作,所以Node.js通过事件跟回调来支持并发,从而达到提高性能的目的

    1. V8 JavaScript 引擎是 Google 用于其 Chrome 浏览器的底层 JavaScript 引擎。很少有人考虑 JavaScript 在客户机上实际做了些什么?实际上,JavaScript 引擎负责解释并执行代码。Google 使用 V8 创建了一个用 C++ 编写的超快解释器,该解释器拥有另一个独特特征;您可以下载该引擎并将其嵌入任何 应用程序。V8 JavaScript 引擎并不仅限于在一个浏览器中运行。因此,Node 实际上会使用 Google 编写的 V8 JavaScript 引擎,并将其重建为可在服务器上使用。太完美了!

    Node.js还有一个最大的特点就是它庞大的包管理器npm,是全球最大的开源库生态系统。

    当然,Node.js并不是无所不能的,它也有短板,比如计算密集型的应用,Node.js的性能就比不上C语言了;需要精密控制内存的分配跟释放的场景,C语言对内存的精密控制要更胜一筹,可见Node.js也有黔驴技穷的时候,所以还是那句话,没有最好的,只有合适的。


    5.后续学习

    (1)Node.js基础知识:http,url,fs,Buffer,stream,crypto,event,sync等等
    (2)两种数据库mysql,mongodb和Node.js搭配使用
    (3)Node web开发(express框架实现)

    这里需要说明,不要把这个专题当教程,这只是我自己的学习总结。我只是想,如果有一天很久没接触到这些知识的时候可以很快捡起来用。其实,从我个人的角度看,学习Nodejs好的方法是:
    教程视频+文档+源码阅读+实际操作

    end.gif

    相关文章

      网友评论

      本文标题:Node.js介绍,安装和初体验

      本文链接:https://www.haomeiwen.com/subject/lfbgbxtx.html