Node.js学习笔记】的更多相关文章

写作背景 笔者前年开始撰写的<Node.js学习笔记> github star 数突破了1000,算是个里程碑吧. 从第一次提交(2016.11.03)到现在,1年半过去了.突然有些感慨,想要写点东西,谈谈这期间的收获.心路历程,以及如何学习Node.js. 心路历程 笔者一直有做技术笔记的习惯,前几年零零散散的也写了不少Node.js的东西,只不过都存在evernote里.写着写着,觉得有必要系统地整理下,于是就有了这个项目. 粗略统计了下,总共提交了约60篇教程,以及将近300个范例脚本.…
Node.js学习笔记(3):NPM简明教程 NPM常用操作 更新NPM版本 npm install npm -g -g,表示全局安装.我们可以指定更新版本,只需要在后面填上@版本号即可,也可以输入@latest获得最近的稳定版本,如下 npm install npm@5.5.0 -g NPM初始化及包管理 npm init -y -y 可以跳过所有的询问,执行后目录下会生成package.json文件来存储一些配置,诸如项目的依赖.自定义脚本等. 现在我们可以使用install命令来安装需要用…
Node.js学习笔记系列总索引 Nodejs学习笔记(一)--- 简介及安装Node.js开发环境 Nodejs学习笔记(二)--- 事件模块 Nodejs学习笔记(三)--- 模块 Nodejs学习笔记(四)--- 与MySQL交互(felixge/node-mysql) Nodejs学习笔记(五)--- Express安装入门与模版引擎ejs Nodejs学习笔记(六)--- Node.js + Express 构建网站预备知识 Nodejs学习笔记(七)--- Node.js + Exp…
Node.js学习笔记(2):基本模块 模块 引入模块 为了编写可维护的代码,我们把很多函数分组,分别放到不同的文件里,这样,每个文件包含的代码就相对较少,很多编程语言都采用这种组织代码的方式.在Node环境中,一个.js文件就称之为一个模块(module). 好处是大大提高了代码的可维护性. 其次,编写代码不必从零开始.当一个模块编写完毕,就可以被其他地方引用.我们在编写程序的时候,也经常引用其他模块,包括Node内置的模块和来自第三方的模块. 使用模块还可以避免函数名和变量名冲突.相同名字的…
Node.js学习笔记(1):Node.js快速开始 Node.js的安装 下载 官方网址:https://nodejs.org/en/ 说明: 在Windows上安装时务必选择全部组件,包括勾选Add to Path 查看安装版本 安装完成后,输入node -v 可查看当前安装的Node版本. NPM NPM是什么 npm是Node.js的包管理工具(package manager) 因为我们在Node.js上开发时,会用到很多别人写的JavaScript代码.如果我们要使用别人写的某个包,每…
Node.js学习笔记(4):Yarn简明教程. 引入Yarn NPM是常用的包管理工具,现在我们引入是新一代的包管理工具Yarn.其具有快速.安全.可靠的特点. 安装方式 使用npm工具安装yarn. Yarn常用操作 初始化新项目 yarn init 添加依赖包 yarn add [package] yarn add [package]@[version] yarn add [package]@[tag] 将依赖项添加到不同依赖项类别 分别添加到 devDependencies.peerDe…
1.回调函数 node是一个异步事件驱动的平台,所以在代码中我们经常需要使用回调函数. 例: setTimeout(function(){ console.log('callback is called'); },2000); 2.标准回调函数 node.js中回调函数格式是约定俗成的,它有两个参数,第一个参数为err,第二个参数为data,err是错误信息,data则是返回的数据. 例: function(err,data){ } 3.获取和使用模块 为了支持快速开发,node平台上提供了大量…
最近接了一个node项目,虽然最后顺利完成了,但是由于第一次实战,整个过程是赶出来的,许多地方一知半解.现在项目结束了,就静下心来系统地学一学,理一理,读书不忘拿笔,既然读书了,当然就要记点东西.一方面:能帮助自己加深印象,更好的理解,另一方面:能有幸帮助到别人也是不甚欢喜的.本人大部分的学习内容来自于以下书籍. <Node入门> <Node.js开发指南> <深入浅出Node.js> <七天学会NodeJS> Node.js简介 Node.js不是JS应用…
什么是Node.js 官网介绍: Node.js® is a JavaScript runtime built on Chrome's V8 JavaScript engine. Node.js uses an event-driven, non-blocking I/O model that makes it lightweight and efficient. Node.js' package ecosystem, npm, is the largest ecosystem of open…
要理解事件循环,首先要理解事件驱动编程(Event Driven Programming).它出现在1960年.如今,事件驱动编程在UI编程中大量使用.JavaScript的一个主要用途是与DOM交互,所以使用基于事件的API是很自然的.简单地定义:事件驱动编程通过事件或状态的变化来进行应用程序的流程控制.一般通过事件监听实现,一旦事件被检测到(即状态改变)则调用相应的回调函数.听起来很熟悉?其实这就是node.js事件循环的基本工作原理.如果你熟悉客户端JavaScript的开发,想一想那些.…
巧妇难为无米之炊.要学习node.js,当然必须先有node.js环境(可以去官网 http://nodejs.cn/ 下载安装),如果还是不懂怎么配置开发环境,度娘会告诉你一切. 安装完成环境之后,先别急着开发.在开发之前,为了更清晰的掌握接下来我们的第一个应用的代码逻辑,我们还需要了解一下node.js 应用的基本组成成分,如下: 1. 引入 required 模块:我们可以使用 require 指令来载入 Node.js 模块. 2. 创建服务器:服务器可以监听客户端的请求,类似于 Apa…
一.什么是node.js 简单的说 Node.js 就是运行在服务端的 JavaScript. Node.js 是一个基于Chrome JavaScript 运行时建立的一个平台. Node.js是一个事件驱动I/O服务端JavaScript环境,基于Google的V8引擎,V8引擎执行Javascript的速度非常快,性能非常好. 二.node.js优缺点 优点:1.采用事件驱动.异步编程,为网络服务而设计. 2.Node.js非阻塞模式的IO处理给Node.js带来在相对低系统资源耗用下的高…
近期在看一些Node.js的知识,看完后觉得,一些前面的东西忘记了,于是整理一下,方便自己查阅,也希望对学习Node.js的朋友有些帮助: 当然以下只是我个人的观点和理解,不喜勿喷,也望大神指教. 一.Node.js是什么 关于这个问题,刚看到它的时候,可能觉得和javascript有关系,没错,确实有关系:但是,首先Node.js不是一门语言,与php python perl ruby的 “既是语言又是平台”不同:Node.js也不是一个javascript框架或者javascript类库,不…
说明:本人是node.js的初学者,尝试向别人解释这是怎么回事是自我学习的一个好方法.如果你发现有些地方并不是那么正确,欢迎提出来让我知道以便修正,共同进步,谢过^_^.       欢迎交流,本人微博:http://weibo.com/bitsea  很多地方都涉及到函数的回调,在这里简单说一下什么是函数的回调. 回调函数就是回来再调用的函数. 基于js的单线程执行代码的风格,回调是必须的选择.也可以说是一种不得已而为之的选择吧,回调无疑增加了代码的复杂性,使其变得难读.难理解,难维护.但是,…
一.简介 Node.js 是一个基于Google Chrome V8 引擎的 JavaScript 运行环境.Node.js 使用了一个事件驱动.非阻塞式 I/O 的模型,使其轻量又高效.Node.js 的包管理器 npm,是全球最大的开源库生态系统. 能方便地搭建响应速度快.易于扩展的网络应用,Node.js 使用事件驱动, 非阻塞I/O 模型而得以轻量和高效,非常适合在分布式设备上运行的数据密集型的实时应用. 官网:https://nodejs.org/en/中文:https://cnode…
相关介绍 1.Node.js或者Node,是一个可以让javascript运行在服务器端的平台. 2.Node.js是一个为实时Web应用开发而诞生的语言,它从诞生之初就充分考虑了再实时响应.超大规模数据要求下的可扩展性.这使得它摒弃了传统平台依靠多线程来实现高并发的设计思路,而是采用了单线程.异步式IO.事件驱动式的程序设计模型. 3.Node.js采用现在应用于chrome的Javascript引擎V8.V8号称目前世界上最快的Javascript引擎. 4.Node.js遵循CommonJ…
Node入门 //请求(require)Node.js自带的 http 模块,并且把它赋值给 http 变量 //变成了一个拥有所有 http 模块所提供的公共方法的对象 var http = require("http"); //调用http模块提供的函数: createServer //这个函数会返回一个对象,这个对象有一个叫做 listen 的方法 //这个方法有一个数值参数,指定这个HTTP服务器监听的端口号 http.createServer( function(reques…
What is flow control? 和其它语言一样,Node.js 在代码编写时,如何组织代码,如何写出clean code都是不可避免的难点. 同时,由于Node.js的天然特性(异步,事件驱动),良好的代码组织就更为重要. 所谓的flow control指的是序列化的执行一个个node.js task的代码组织手段. 与其它语言一样,任务流可以被组织成两种(串行,并行)如下图: How to flow control? 一种方式是使用node.js 社区提供的各类第三方模块(),另一…
希望这篇文章能解决你这样一个问题:“我现在已经了解了一些Node.Js基本概念了,怎么搭一台静态服务器呢?” 请参考一下博主的前两篇文章: 完全面向于初学者的Node.js指南 Node.Js的Module System 以及一些常用 Module 本文实现的效果(样式就没做了,大家将就下): 列出的代码均测试可用,大家放心. What is static server? 静态服务器,有了它呢,就可以让外部访问到咱们的静态网页.在功能上:它可以给用户发送文件(如:HTML, CSS, Js等).…
Node是用c++语言开发,能运行javascript语言的环境. 使用的时候格式为node helloworld.js,helloword.js为服务器端或者系统级端的javascript代码. Node有很多特性,这里不再一一展开.先用node创建一个http服务器监听固定端口: var http = require('http'); http.createServer(function (req, res) { res.writeHead(200, {'Content-Type': 'te…
       一.开始使用Node.js编程           1.hello world           好了,让我们开始实现第一个 Node.js 程序吧.打开你常用的文本编辑器,在其中输入:   console.log('Hello World');         将文件保存为 helloworld.js,打开终端,进入 helloworld.js 所在的目录,执行以下命令:   node helloworld.js         如果一切正常,你将会在终端中看到输出  Hell…
        1.安装         windows下安装,在http://nodejs.org下载安装包进行安装即可.         linux下安装,使用yum或者下载源码进行编译.         默认情况下安装node的同时也会自动安装npm(Node包管理器).         2.Node包管理器         迄今为止Node.js 更新速度还很快,有时候新版本还会将旧版本的一些 API 废除,以至 于写好的代码不能向下兼容.有时候你可能想要尝试一下新版本有趣的特性,但又想…
        1.什么是Node.js?         Node.js,或者 Node,是一个可以让 JavaScript 运行在服务器端的平台.它可以让 JavaScript 脱离浏览器的束缚运行在一般的服务器环境下,就像运行 Python. Perl. PHP. Ruby  程序一样.你可以用 Node.js 轻松地进行服务器端应用开发,Python.Perl.PHP.Ruby 能 做的事情 Node.js 几乎都能做,而且可以做得更好.          Node.js 是一个为实时W…
模块是 Node.js 应用程序的基本组成部分,文件和模块是一一对应的.一个 Node.js 文件就是一个模块,这个文件可能是 JavaScript 代码.JSON 或者编译过的 C/C++ 扩展. 由于JavaScript没有模块系统,所以Node.js依靠CommonJS规范自身实现了模块系统. 模块的简单使用--exports .require 和 module 在编写和使用每个模块时,Node.js都有require.exports.module三个预先定义好的变量可供使用. expor…
在浏览器 JavaScript 中,通常 window 是全局对象, 而 Node.js 中的全局对象是 global,所有全局变量(除了 global 本身以外)都是 global 对象的属性. 这里列出的所有变量均可以在所有模块中访问.但值得注意的是:它们有些并不是在全局作用域内的,即不在global对象内,而是在模块作用域内的.在模块作用域内的变量会用*表示. global 全局对象,全局变量的宿主 *__filename 表示当前正在执行的脚本的文件名.它将输出文件所在位置的绝对路径,且…
大部分的nodejs核心api都建立在异步的事件驱动架构之上,所以events是Node.js 最重要的模块,它提供了唯一的接口.events 模块不仅用于用户代码与 Node.js 下层事件循环的交互,还几乎被所有的模块依赖. EventEmitter events 模块只提供了一个对象: events.EventEmitter.EventEmitter的核心就是事件发射与事件听器功能的封装.所有发射事件的对象都是EventEmitter类的实例,它暴露一个on函数来绑定一个或着多个函数到该对…
error 事件 EventEmitter 定义了一个特殊的事件 error,它包含了错误的语义,我们在遇到异常的时候通常会触发 error 事件.当 error 被触发时,EventEmitter 规定如果没有响应的监听器,Node.js 会把它当作异常,退出程序并输出错误信息.我们一般要为会触发 error 事件的对象设置监听器,避免遇到错误后整个程序崩溃.例如: var events = require('events'); var emitter = new events.EventEm…
Node.js 异步编程的直接体现就是回调. 那什么是回调呢?回调指的是将一个函数作为参数传递给另一个函数,并且通常在第一个函数完成后被调用.需要指明的是,回调函数不是由该函数的实现方直接调用,而是在特定的事件或条件发生时由另外的一方调用的,用于对该事件或条件进行响应.回调函数在完成任务后就会被调用,Node 使用了大量的回调函数,Node 所有 API 都支持回调函数.例如,我们可以一边读取文件,一边执行其他命令,在文件读取完成后,我们将文件内容作为回调函数的参数返回.这样在执行代码时就没有阻…
这个算是不算完结的完结吧,前段时间也是看了好久的Node相关的东西,总想着去整理一下,可是当时也没有时间: 现在看来在整理的话,就有些混乱,自己也懒了,就没在整理,只是简单的记录一下 一.demo的简单介绍 这次demo,只涉及到简单的curd操作,用到的数据库是mongo,所以要安装mongo数据库,数据库连接驱动是mongoose: 当然关于mongo的驱动有很多,比如mongous mongoskin等:(详见http://cnodejs.org/topic/4f4ca8e0940ce2e…
今天来简单的记录一下Node.js的安装配置以及简单的入门 一.Node.js的安装 1.windows下的安装 windows下的安装很简单,只需要去官网http://nodejs.org中,找到window下的安装包,然后直接下一步即可 此种方法完成后,默认安装npm管理器,目录结构如图: 2.Linux下的安装 关于Linux下的安装,具体本人也没有试过,现只粗略的记录一下  Linux发行版 命令 Debian/Ubuntu apt-get install node.js Fedora/…