版本:偶数位为稳定版本,基数为非稳定版本 - 0.6.x - 0.7.x    - 0.8.x -0.9.x    -0.10.x  -0.11.x 概念:Node.js采用谷歌浏览器的V8引擎,用C++语言编写的JavaScript语言运行环境. 优点:可以解析JS代码,没有浏览器安全级的限制: Node适用于高并发,IO密集操作: 提供系统级别的API: 1文件读写 2进程管理 3网络通信 安装Node.js 官网下载,直接安装 配置环境变量:Path下复制node安装路径C:\Progra…
url url.parse(url,query,host);解析域名 url必须,地址字符串 query可选 host 可选:在不清楚协议时正确解析 querystring 字符串和对象之间互相解析 querystring.escape()  querystring.unescape()  转义和反转义 参考:<慕课网进击Node.js基础>视频…
首先用最简单的方式实现一个动画效果 <!doctype> <html> <head> <title>Promise animation</title> <style type="text/css"> .ball { width: 40px; height: 40px; border-radius: 20px; } .ball1 { background: red; } .ball2 { background: ye…
获取HTML页面 var http = require('http') var url='http://www.imooc.com/learn/348' http.get(url,function(res){ var html = '' res.on('data',function(data){ html += data }) res.on('end',function(){ console.log(html) }) }).on('errer',function(){ console.log('…
一.一个牛逼闪闪的知识点Promise npm install bluebird 二.Promise实例 ball.html <!doctype> <!DOCTYPE html> <html> <head> <title>Promise animation</title> <style> .ball { width: 40px; height: 40px; border-radius: 20px; } .ball1 { b…
是一套规范管理模块 每个js 为一个模块,多个模块作为一个包 node.js和Couchdb是对其的实现: 不同于jQuery 模块:定义.标识.引用(地址/模块名称) 模块类型: 核心模块http fs path 文件模块var util=require(‘./util.js’) 第三方模块npm  var promise=require(‘bluebird’) 模块的流程: 创建模块 teacher.js  function foo(){} 导出模块 exports.add=function…
一.前言 1:Node.js本质上是用chrome浏览器 v8引擎 使用c++编写的JS运行环境 2:相比于JS没有浏览器安全级的限制,额外提供了一些系统级的API:文件读写,进程管理,网络通信等. 3:有很多借助NODE.JS完成的项目如appjs跨平台桌面应用,Jade和node.js组合使用便捷管理后台html模板,grunt自动化运行工具,express.js 4:nodejs.org,npmjs.com模块社区,github,stackoverflow 5:gitbash:类似cmd,…
Buffer 用来保存原始数据 (logo.png) 以下代码读取logo.png为buffer类型 然后将buffer转化为string,新建png 可以将字符串配置: data:image/png;Base64,Buffer.toString() var fs = require('fs') fs.readFile('logo.png',function(err,origin_buffer){ console.log('origin_buffer是否Buffer格式:'+Buffer.isB…
get是对request封装 可以在后台发起http请求,获取远程资源,更新或者同步远程资源 http.request(options[,callback]) 以下代码灌水失败: var http = require('https') var querystring = require('querystring') //提交的表单数据Request Payload var postData = querystring.stringify({ "blogApp":"-beauT…
引用events模块中的EventEmitter 事件的监听和发射 相同的事件发射数量有限,可以通过setMaxListeners设置峰值 var EventEmitter = require('events').EventEmitter var life = new EventEmitter() //加不加都没有报警告 //life.setMaxListeners(10) life.on('clickEvent',function(who){ console.log('给' + who + '…
HTTP:通信协议 流程概述: http客户端发起请求,创建端口默认8080 http服务器在端口监听客户端请求 http服务器向客户端返回状态和内容 稍微详细解析: 1.域名解析:浏览器搜素自身的DNS缓冲,查看是否有被请求的域名所定义的IP,缓冲1分钟 ## 谷歌浏览器输入:chrome://net-internals/#dns 2.搜索操作系统自身的DNS缓冲(浏览器无缓冲或失效) 3.读取本地的HOST文件 C:\Windows\System32\drivers\etc 4.浏览器发起…
作用域 function(){}大括号中的内容是一个作用域; function 和 var 的声明会被提到作用域的最上面 function f(){ a = 2; var b = g(); //此处可以访问到g()函数 a=3; return b; function g(){ //函数的声明会被提前到作用域顶部 return a; } a=1; } var result = f(); console.log(f()); console.log(a) //3 a未被声明,那么就会在全局作用域被声明…
HTTP模块介绍 支持http协议的更多特性 不缓存请求和响应 API比较底层处理流相关,信息解析 HTTP相关概念 回调 将函数作为参数传到执行函数中,参数函数在执行函数中嵌套执行 function learn(something){ console.log(something); } function we(callback,something){ something+=' is cool' callback(something) } //具名函数 we(learn,'Nodejs') //…
一.Promise—Promise似乎是ES6中的规范 PROMISE的语言标准,PROMISE/A+规范,如何使用,在什么场景下使用 Promise时JS对异步操作场景提出的解决方案(回调,观察者模式等等都是一些方案) Promise以同步的方式写代码,执行异步的操作,Promise对象和普通JS对象没什么区别,它有三种状态1:未完成2:已完成3:失败 A+规范和A的不同点 -A+规范通过thenable来区分promise对象 -A+定义onFulfilled/onRejected必需是作为…
如果你希望找一份有关Node.js的工作,但又不知道从哪里入手评测自己对Node.js的掌握程度. 本文就为你罗列了10个常见的Node.js面试题,分别考察了Node.js编程相关的几个主要方面. 在进入正文之前,需要提前声明两点: 这些问题只是Node.js知识体系的一个局部,并不能完全考察被面试者的实际开发能力. 对现实世界开发中遇到的问题,需要的是随机应变与团队合作,所以你可以尝试结对编程. Node.js面试题列表 什么是错误优先的回调函数? 如何避免回调地狱? 如何用Node来监听8…
  Node.js 是最流行的 JavaScript 服务端平台,它允许建立可扩展的 Web 应用程序.Node.js 包含不同类型的框架,如 MVC 框架.全栈框架.REST API  以及大量的服务器库,使它能够快速构建 Web 服务器,而无需使用外部软件(如 Apache 和 Lighttpd 等).这些框架使得它更加用户友好,易于使用,还支持众多的特性和功能,只要按照几个步骤就可以开发出庞大的 Web 应用程序. 今天,我们挑选了10个最好的 Node.js MVC 框架分享给 Web…
第三章:Node.js基础知识 一:Node.js中的控制台 1:console.log.console.info  方法 console.log(" node app1.js 1> info.log console.log("This is a test String ."); //从第二个参数开始,依序输出所有的字符串 console.log("%s","hoge","foo");//输出结果为 hoge…
10 个最佳的 Node.js 的 MVC 框架 oschina 发布于: 2014年02月24日 (33评) 分享到:    收藏 +322 Node.js 是一个基于Chrome JavaScript 运行时建立的一个平台, 用来方便地搭建快速的, 易于扩展的网络应用· Node.js 借助事件驱动, 非阻塞 I/O 模型变得轻量和高效, 非常适合 run across distributed devices 的 data-intensive 的实时应用· 本文介绍 10 个基于 Node.…
Node.js基础与实战 Node.jsJS高级进阶 NODE原理与解析 REPL交互环境 模块与NPM Buffer缓存区 fs文件操作 Stream流 TCP&UDP 异步编程 HTTP&HTTPS 进程与集群 网络安全 关于node.js的误会 昨天写了篇博客,介绍了一下我对node.js的第一次亲密接触后的感受,以为node.js很小众,出乎我意料很多人感兴趣,并且对博客中的细节问题做了评论,最多的是围绕node.js的异步与单线程展开的,当然还有很多关于node.js究竟是不是语…
node.js基础模块http.网页分析工具cherrio实现爬虫 一.前言      说是爬虫初探,其实并没有用到爬虫相关第三方类库,主要用了node.js基础模块http.网页分析工具cherrio. 使用http直接获取url路径对应网页资源,然后使用cherrio分析. 这里我主要学习过的案例自己敲了一遍,加深理解.在coding的过程中,我第一次把jq获取后的对象直接用forEach遍历,直接报错,是因为jq没有对应的这个方法,只有js数组可以调用. 二.知识点    ①:supera…
Node.js入门   Node.js     Node.js是一套用来编写高性能网络服务器的JavaScript工具包,一系列的变化由此开始.比较独特的是,Node.js会假设在POSIX环境下运行Linux 或 Mac OS X.如果是在Windows下,那就需要安装MinGW以获得一个仿POSIX的环境.在Node中,Http是首要的.Node为创建http服务器作了优化,所以在网上看到的大部分示例和库都是集中在web上(http框架.模板库等).   Node.js不是JS应用,而是JS…
前言 大家好,我是桑世龙,github和cnodejs上的i5ting,目前在天津创业,公司目前使用技术主要是nodejs,算所谓的MEAN(mongodb + express + angular + node),所有代码都部署在阿里云上 我的名字i5ting,原因是我媳妇叫张婷,哈哈 闲言少叙,下面开始正题 <Node.js最新技术栈之Promise篇> js流程控制的演进过程,分以下5部分 回调函数Callbacks 异步JavaScript Promise/a+ 生成器Generator…
一个HTTP服务器响应 var http = require('http'); http.createServer(function(request,response){ response.end('hello world!'); }).listen(3000); 读取请求头及设定响应头 // res.setHeader(field, value) // res.getHeader(field) // res .removeHeader(field) // 默认状态码200(表明成功) res.…
什么是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…
前言:在Node.js学习(二)和(三)中介绍了如何在Node.js 中获取登录的用户名和密码与数据库进行验证并返回数据给客户端 需求:实现注册功能 为了区分登录和注册是两个不同的请求,在端口后面加上/login表示登录,/register表示注册,交给后台处理 前端代码还是和之前的一样,控制好请求的URL即可 Node.js 服务端代码如下: 1.监听端口的node-post.js(Controller层) /** * Created by LB on 2017/10/27. */ var h…
最近工作中,因为某某某某原因,需要用到Node.js  . 发现在很多方面和python很像,比如generator / yield ,比如模块的使用方式,比如http模块. 先安装个环境,windows没什么难度,下载个安装包装一下就行,主要看一下centos的 并且修改了npm源为淘宝源,主要是下载速度快.并且安装了forever组件,作为服务器的 node 服务器守护程序. // centos6.5下安装 // 官网下载: https://nodejs.org/en/download/ /…
Node.js只支持单线程,故不会产生死锁,采用非阻塞I/O机制和事件环机制.非常适合与开发需要处理大量并发的输入/输出的应用程序.   一. Node.js的核心模块有很多,这里先写几个比较常用的(目前我个人较常用的,不代表大众):   1.buffer:用于实现二进制数据的存储和转换:   2.child-process:用于实现子进程的创建与管理:   3.console:用于控制台输出信息:   4.events:用于为事件处理提供一个基础类:   5.fs:用于操作文件及文件系统:  …
每一个称职的程序员都应该拥有一套极好的工具来提高自己的工作效率.在Livecoding.tv 上,那里的程序员分享了10个他们认为是最好用的工具.插件和资料库.据说,以下的这10个工具是使用Node.js时每天都会用到的. Node.js是什么? “作为一个异步事件驱动的框架,Node.js用于建立可扩展的网络应用.”据Node.js community所说,Node在设计上与Ruby的Event Machine 或者是 Python的Twisted相似,并且它受系统的影响.Node将事件模型更…
一些可能有用的相关文章: https://blogs.msdn.microsoft.com/scott_hanselman/2011/11/28/window-iisnode-js/ http://blog.csdn.net/puncha/article/details/9047311 20161123,这几天看了一些相关文章,觉得说的不太清楚,记录一下. 1. 安装 node.js,官网下载 node.exe(用express的再安装express),这步略过. 2. 安装 iisnode,h…
模块可能是一个文件,也可能是包含一个或多个文件的目录.如果模块是个目录,node.js通常会在这个目录下找一个叫index.js的文件作为模块的入口. 典型的模块是一个包含exports对象属性定义的文件,这些属性可以是任意类型的数据,比如字符串.对象和函数. 创建一个模块 //person.js var name = 'lbs'; var age = 10; function sayName(){ console.log( name ); } function sayAge(){ consol…