最近接了一个node项目,虽然最后顺利完成了,但是由于第一次实战,整个过程是赶出来的,许多地方一知半解。现在项目结束了,就静下心来系统地学一学,理一理,读书不忘拿笔,既然读书了,当然就要记点东西。一方面:能帮助自己加深印象,更好的理解,另一方面:能有幸帮助到别人也是不甚欢喜的。本人大部分的学习内容来自于以下书籍。

Node.js简介

Node.js不是JS应用、而是JS运行平台 --《深入浅出Node.js》

Node.js采用C++语言编写而成,是一个后端的Javascript的运行环境。它使用了Google的V8虚拟机(Google的Chrome浏览器使用的 JavaScript执行环境),来解释和执行JavaScript代码。

Node.js特性

  1. 基于事件驱动的异步I/O(非阻塞)

    线程在执行中如果遇到磁盘读写或网络通信(统称为 I/O 操作), 通常要耗费较长的时间,这时操作系统会剥夺这个线程的 CPU 控制权,使其暂停执行,同时将资源让给其他的工作线程,这种线程调度方式称为阻塞。

    Node.js的设计思想中以事件驱动为核心的异步I/O(非阻塞)。所有的磁盘 I/O、网络通信、数据库查询都以非阻塞的方式请求,返回的结果由事件循环来处理

    Node.js 在执行的过程中会维护一个事件队列,程序在执行时进入事件循环等待下一个事件到来,每个异步式 I/O 请求完成后会被推送到事件队列,等待程序进程进行处理。

  2. 支持的编程语言是javascript
    Javascript的匿名函数和闭包特性非常适合事件驱动、异步编程。同时Javascript在动态语言中性能较好,再加上V8引擎也是同类的佼佼者,所以Node.js的性能也受益其中。

Node.js & npm的安装与配置

Node.js的安装方法很简单,直接上官网或者百度一个选择相应版本下载安装就行,就不多说了。安装完后可以通过输入 "node -v" 来测试是否成功安装。

tips: 工作中可能会需要多个node版本之间的相互切换,推荐使用nvm工具(but,暂不支持windows)

Nodejs自身提供了基本的模块。但是在这些基本模块上开发实际应用需要较多的工作,npm的存在解决了该问题,它是Nodejs的包管理器:

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

新版的nodejs已经集成了npm,所以不需要再进行安装操作。同样可以通过输入 "npm -v" 来测试是否成功安装。

Hello World

至此,我们的node开发环境就基本搭建完成了,我们来开始实现第一个 Node.js 程序。打开你常用的文本编辑器,在其中输入:

console.log('Hello World');

将文件保存为 helloworld.js,打开终端,进入 helloworld.js 所在的目录,执行以下命令:

node helloworld.js

如果一切正常,你将会在终端中看到输出 Hello World

Node.js学习笔记(一):快速开始的更多相关文章

  1. Node.js学习笔记(1):Node.js快速开始

    Node.js学习笔记(1):Node.js快速开始 Node.js的安装 下载 官方网址:https://nodejs.org/en/ 说明: 在Windows上安装时务必选择全部组件,包括勾选Ad ...

  2. Node.js学习笔记(2):基本模块

    Node.js学习笔记(2):基本模块 模块 引入模块 为了编写可维护的代码,我们把很多函数分组,分别放到不同的文件里,这样,每个文件包含的代码就相对较少,很多编程语言都采用这种组织代码的方式.在No ...

  3. Node.js学习笔记(4):Yarn简明教程

    Node.js学习笔记(4):Yarn简明教程. 引入Yarn NPM是常用的包管理工具,现在我们引入是新一代的包管理工具Yarn.其具有快速.安全.可靠的特点. 安装方式 使用npm工具安装yarn ...

  4. 一点感悟:《Node.js学习笔记》star数突破1000+

    写作背景 笔者前年开始撰写的<Node.js学习笔记> github star 数突破了1000,算是个里程碑吧. 从第一次提交(2016.11.03)到现在,1年半过去了.突然有些感慨, ...

  5. Node.js学习笔记(3):NPM简明教程

    Node.js学习笔记(3):NPM简明教程 NPM常用操作 更新NPM版本 npm install npm -g -g,表示全局安装.我们可以指定更新版本,只需要在后面填上@版本号即可,也可以输入@ ...

  6. 系列文章--Node.js学习笔记系列

    Node.js学习笔记系列总索引 Nodejs学习笔记(一)--- 简介及安装Node.js开发环境 Nodejs学习笔记(二)--- 事件模块 Nodejs学习笔记(三)--- 模块 Nodejs学 ...

  7. Node.js学习笔记3(快速入门)

           一.开始使用Node.js编程           1.hello world           好了,让我们开始实现第一个 Node.js 程序吧.打开你常用的文本编辑器,在其中输入 ...

  8. Node.js学习笔记(一)

    1.回调函数 node是一个异步事件驱动的平台,所以在代码中我们经常需要使用回调函数. 例: setTimeout(function(){ console.log('callback is calle ...

  9. node.js学习笔记——前序

    一.什么是node.js 简单的说 Node.js 就是运行在服务端的 JavaScript. Node.js 是一个基于Chrome JavaScript 运行时建立的一个平台. Node.js是一 ...

随机推荐

  1. SSH简介

    一.什么是SSH? Secure Shell(缩写为SSH),由IETF的网络工作小组(Network Working Group)所制定:SSH为一项创建在应用层和传输层基础上的安全协议,为计算机上 ...

  2. 实例学习SSIS(五)--理论介绍SSIS

    原文:实例学习SSIS(五)--理论介绍SSIS 导读: 实例学习SSIS(一)--制作一个简单的ETL包 实例学习SSIS(二)--使用迭代 实例学习SSIS(三)--使用包配置 实例学习SSIS( ...

  3. C#泛型回顾点滴

    前言 C#的泛型一直是学习者津津乐道的课题了,这确实是一个非常有用的特性,不过在实际使用中,还是有很多需要注意的地方,我们需要通过自己动手实践以及结合理论进行理解,最终总结出自己的编码规范和最佳实践 ...

  4. 利用自定义的AuthenticationFilter实现Basic认证

    [ASP.NET MVC] 利用自定义的AuthenticationFilter实现Basic认证   很多情况下目标Action方法都要求在一个安全上下文中被执行,这里所谓的安全上下文主要指的是当前 ...

  5. ASP.NET虚拟路径小结

    一.虚拟路径的概念 “虚拟路径”是指请求 URL 中跟在服务器标识符后面的部分举例. 如绝对路径:http://www.mysite.com/MyApp/Default.aspx,其对应的虚拟路径为: ...

  6. Oracle 10g的空间管理

    一.表空间(包含表.字段.索引) 1.定义:表空间是一个逻辑概念,实质是组织数据文件的一种途径. 2.创建表空间 --创建表空间 create tablespace myspace datafile ...

  7. [转]Hooked on DTrace

    source link: 1.http://blog.bignerdranch.com/1907-hooked-on-dtrace-part-1/ 2.http://blog.bignerdranch ...

  8. Cocos2d学习之路三(使用Zwoptex创建精灵表单和CCAnimate动画)

    创建精灵表单: 创建动画先要把图片整合到一个图片上然后生成plist文件: 方法下载Zwoptex软件:http://www.zwopple.com/zwoptex/ 然后打开选择 create ne ...

  9. Redis安装介绍

    Redis安装介绍 一.Linux版本及配置 1.  Linux版本:Red Hat Enterprise Linux 6虚拟机 2.  配置: 内存:1G:CPU:1核:硬盘:20G 二.Redis ...

  10. 基于Hadoop开发网络云盘系统客户端界面设计初稿

    基于Hadoop开发网络云盘系统客户端界面设计初稿 前言: 本文是<基于Hadoop开发网络云盘系统架构设计方案>的第二篇,针对界面原型原本考虑有两个方案:1.类windows模式,文件夹 ...