随笔分类 - node.js
摘要:我们先来看看今天的目标: mmjpg.com的美腿频道下的图片 一、实现步骤 使用superagent库来获取页面分析页面结构,使用cheerio 获取有效信息保存图片到本地开撸不断优化 这儿我们用到了superagent cheerio fs-extra这三个库 1.superagent 是nod
阅读全文
摘要:一.fs-extra 文件管理 1.创建一个目录 创建目录 2.删除一个空目录 3.读取一个目录 4、复制文件 5.移动文件、目录, 会删除以前的, 等于改名 6.删除文件、目录 7.创建文件、目录 8.写入文件, 写入txt.文件时, "\r\n"是断行 // 下载某图片到指定目录
阅读全文
摘要:一.path模块 https://nodejs.org/docs/latest/api/path.html#path_path_join_paths 1.join方法 ==> 该方法将多个参数值字符串结合成一个路径字符串,使用方式如下: path.join([path1], [path2], [..
阅读全文
摘要:三.cheerio ==> node中的jquery https://www.npmjs.com/package/cheerio 1.cheerio.load ==> 加载HTML文档
阅读全文
摘要:一. async 与await (https://segmentfault.com/a/1190000007535316) 1.async 是“异步”的简写,而 await 可以认为是 async wait 的简写。所以应该很好理解 async 用于申明一个 function 是异步的,而 awai
阅读全文
摘要:一.HTTP模块SuperAgent (http://visionmedia.github.io/superagent/) 1.superagent它是一个强大并且可读性很好的轻量级ajaxAPI,是一个关于HTTP方面的一个库,而且它可以将链式写法玩的出神入化。 2.superagent可以帮你解
阅读全文
摘要:浏览器环境Babel也可以用于浏览器环境。但是,从Babel 6.0开始,不再直接提供浏览器版本,而是要用构建工具构建出来。如果你没有或不想使用构建工具,可以通过安装5.x版本的babel-core模块获取。 1.npm来安装babel,npm是随同Nodejs一起安装的包管理工具,新版的nodej
阅读全文
摘要:一.MongoDB(开源的 NoSQL 数据库) ==> 是一个对象数据库,它没有表、行等概念,也没有固定的模式和结构, 数据格式就是JSON, 示例 1.下载 https://www.mongodb.com/download-center#community 2.解压缩到自己想要安装的目录,比如F
阅读全文
摘要:1.工作原理 当通过浏览器访问 app.js 建立的服务器时,会看到一个简单的页面,实际上它已经完成了许多透明的工作,现在就让我们来解释一下它的工作机制 浏览器在接收到内容以后,经过分析发现要获取 /stylesheets/style.css,因此会再次向服务器发起请求。 app.js 中并没有一个
阅读全文
摘要:在Express 4.0 下按如下方法设置: (1)运行cmd 输入:npm install express-partials -g (2)下载成功后.在app.js 中引用此插件 var partials = require(‘express-partials’); (3)然后再开启此插件, 在a
阅读全文
摘要:Express新建的microblog项目结构 1.app.js:项目入口及程序启动文件。 引入模块依赖, 模板引擎, 数据库引用等入口文件 2.package.json:存储着工程的信息及模块依赖,当在 dependencies 中添加依赖的模块时 3.node_modules:用来存放项目的依赖
阅读全文
摘要:从零开始用 Node.js 实现一个微博系统,功能包括路由控制、页面模板、数据库访问、用户注册、登录、用户会话等内容。 Express 框架、 MVC 设计模式、 ejs 模板引擎 MongoDB 数据库 MVC(Model-View-Controller,模型视图控制器)是一种软件的设计模式
阅读全文
摘要:文件系统fs ==> 提供文件的读取, 写入, 更名, 删除, 遍历目录, 链接等POSIX文件系统操作 1.fs.readFile(filename, [encoding], [callback(err, data)]) ==> 最简单的读取文件的函数 异步的方式读取一个文件 readfile.j
阅读全文
摘要:事件驱动events ==> events.EventEmitter, EventEmitter 的核心就是事件发射与事件监听器功能的封装更详细的 API 文档参见 http://nodejs.org/api/events.html。 1.EventEmitter.on(event, listene
阅读全文
摘要:1.全局对象2.常用工具3.事件机制4.文件系统访问5.HTTP服务与客户端 一.全局对象(Global Object), 与window对象一样 process ==> 全局变量, 描述当前Node.js进程状态的对象, 提供了一个操作系统的简单接口 1.process.argv ==> 命令行参
阅读全文
摘要:包是在模块基础上更深一步的抽象,它将某个独立的功能封装起来,用于发布、更新、依赖管理和版本控制。Node.js 的包是一个目录,其中包含一个 JSON 格式的包说明文件package.json 。严格符合 CommonJS规范的包应该具备以下特征: Node.js 对包的要求并没有这么严格,只要顶层
阅读全文
摘要:模块(Module)和包(Package)是 Node.js最重要的支柱。开发一个具有一定规模的程序不可能只用一个文件,通常需要把各个功能拆分、封装,然后组合起来,模块正是为了实现这种方式而诞生的。1.什么是模块; 2.如何创建并加载模块; 3.如何创建一个包; 4.如何使用包管理器; 1.什么是模
阅读全文
摘要:EventEmitter 对象Node.js 所有的异步 I/O 操作在完成时都会发送一个事件到事件队列。在开发者看来,事件由EventEmitter 对象提供。前面提到的 fs.readFile 和 http.createServer的回调函数都是通过EventEmitter来实现的。下面我们用一
阅读全文
摘要:Node.js 中,并不是所有的 API都提供了同步和异步版本。Node.js 不鼓励使用同步 I/O 。 1.异步的方式读取一个文件 readfile.js 2.同步读取文件 readfilesync.js
阅读全文
摘要:1.querystring.stringify(obj[, sep[, eq[, options]]]) 2.querystring.parse(str[, sep[, eq[, options]]]) 3.querystring.escape(str) 4.querystring.unescape
阅读全文