Node.js实战2:模块使用入门。】的更多相关文章

沪江CCtalk视频地址:https://www.cctalk.com/v/15114923887518 处理错误请求 爱能遮掩一切过错. 当我们在访问一个站点的时候,如果访问的地址不存在(404),或服务器内部发生了错误(500),站点会展示出某个特定的页面,比如: 那么如何在 Koa 中实现这种功能呢?其实,一个简单的中间件即可实现,我们把它称为 http-error.实现过程并不复杂,拆分为三步来看: 第一步:确认需求 第二步:整理思路 第三步:代码实现 确认需求 打造一个事物前,需要先确…
沪江CCtalk视频地址:https://www.cctalk.com/v/15114923883523 log 日志中间件 最困难的事情就是认识自己. 在一个真实的项目中,开发只是整个投入的一小部分,版本迭代和后期维护占了极其重要的部分.项目上线运转起来之后,我们如何知道项目运转的状态呢?如何发现线上存在的问题,如何及时进行补救呢?记录日志就是解决困扰的关键方案.正如我们每天写日记一样,不仅能够记录项目每天都做了什么,便于日后回顾,也可以将做错的事情记录下来,进行自我反省.完善的日志记录不仅能…
视频地址:https://www.cctalk.com/v/15114923882788 处理静态资源 无非花开花落,静静. 指定静态资源目录 这里我们使用第三方中间件: koa-static 安装并使用 安装 koa-static: npm i koa-static -S 修改 app.js,增加并指定 /public 目录为静态资源目录. const Koa = require('koa') const path = require('path') const bodyParser = re…
视频地址:https://www.cctalk.com/v/15114923888328 视图 Nunjucks 彩虹是上帝和人类立的约,上帝不会再用洪水灭人. 客户端和服务端之间相互通信,传递的数据最终都会展示在视图中,这时候就需要用到『模板引擎』. 什么是模板引擎? 模板引擎是为了使用户界面与业务数据分离而产生的,可以生成特定格式的文档.例如,用于网站的模板引擎会生成一个标准的 HTML 文档. 市面上常见的模板引擎很多,例如:Smarty.Jade.Ejs.Nunjucks 等,可以根据个…
node.js Web应用框架Express入门指南 作者: 字体:[增加 减小] 类型:转载 时间:2014-05-28 我要评论 这篇文章主要介绍了node.js Web应用框架Express入门指南,从安装到各种技术的应用,都进行了讲解,是一篇不错的Express入门教程,需要的朋友可以参考下 一.安装 复制代码 代码如下: $ npm install express 或者在任何地方使用可执行的 express(1) 安装: 复制代码 代码如下: \# 译注:强烈建议这种方式$ npm i…
1.net模块基本API 要使用Node.js的net模块实现一个命令行聊天室,就必须先了解NET模块的API使用.NET模块API分为两大类:Server和Socket类.工厂方法. Server类如下图所示: net.Server类可以用来创建一个TCP或本地服务器,继承了EventEmitter. Socket类如下: net.Socket类一般用创建一个socket客户端或者是net.Server connection事件的参数. 工厂方法如下: 以上三个图展示了API的使用,其实NET…
今天总结了下Node.js的Formidable模块的使用,下面做一些简要的说明. 1)     创建Formidable.IncomingForm对象 var form = new formidable.IncomingForm() 2)     form.encoding = 'utf-8' 设置表单域的编码 3)     form.uploadDir = "/my/dir"; 设置上传文件存放的文件夹,默认为系统的临时文件夹,可以使用fs.rename()来改变上传文件的存放位置…
net模块提供了一个异步网络包装器,用于TCP网络编程,它包含了创建服务器和客户端的方法 创建TCP服务器 net.createServer方法 创建客户端去连接服务器 net.connect方法 简易聊天室服务端 chatServer.js var net = require('net'); // 创建TCP服务器 var server = net.createServer(); // 存储所有客户端socket var sockets = []; //接收客户端连接请求 server.on(…
安装搭建项目的开发环境 视频地址:https://www.cctalk.com/v/15114357764004 文章 Koa 起手 - 环境准备 由于 koa2 已经开始使用 async/await 等新语法,所以请保证 node 环境在 7.6 版本以上. 安装node.js 直接安装 node.js :node.js官网地址 https://nodejs.org nvm管理多版本 node.js :可以用nvm 进行node版本进行管理 Mac 系统安装 nvm https://githu…
首先下载express模块,命令行输入 npm install express 1.node.js中express模块创建服务端 在js代码同文件位置新建一个文件夹(www_root),里面存放网页文件等,就可以在浏览器中访问了 var express = require("express"); var path = require("path"); var app = express(); //目录 (当前目录下的www_root目录) app.use(expre…
首先下载websocket模块,命令行输入 npm install ws 1.node.js中ws模块创建服务端 // 加载node上websocket模块 ws; var ws = require("ws"); // 启动基于websocket的服务器,监听我们的客户端接入进来. var server = new ws.Server({ host: "127.0.0.1", port: 6080, }); // 监听接入进来的客户端事件 function webs…
node.js中net模块创建服务器和客户端 1.node.js中net模块创建服务器(net.createServer) // 将net模块 引入进来 var net = require("net"); // 创建一个net.Server用来监听,当连接进来的时候,就会调用我们的函数 // client_sock,就是我们的与客户端通讯建立连接配对的socket // client_sock 就是与客户端通讯的net.Socket var server = net.createSer…
经过前面的Node.js实战(一)之概述 想必你应该对Node.js的概念.应用场景.优缺点等有个大致的了解,同时你本地Windows或者Linux上已经准备好了Node.js环境. 下面我们来进入每种编程语言必经之关“HelloWorld”,不要小看这个HelloWorld,每学一样新的东西,HelloWorld是必须的,因为能给有接下来学习的勇气. 这里以Linux为例,第一个HelloWorld例子 console.log('hello world') 结果如下: 还可以将其编辑为一个he…
1.node.js的request模块 http://www.cnblogs.com/meteoric_cry/archive/2012/08/18/2645530.html…
  之前用node.js写的订餐系统,很容易挂掉,一直也没想去解决它.今天看了一下,试了试,原因是在连接数据库的时候没有对error事件进行处理,导致程序一直挂在那里,需要重启服务才能正常使用.   没有使用缓存,直接都是操作数据存,所以导致一个页面数据库请求比较多.如果按住f5不动,操作太快,查询还没来得及响应,connect就被断开了,触发其error事件.但没有对它进行处理,导致程序直接挂在那里不动了   在getConnection函数中添加了对error事件的监听,能避免掉这个问题  …
视频地址:https://www.cctalk.com/v/15114923886141 JSON 数据 我颠倒了整个世界,只为摆正你的倒影. 前面的文章中,我们已经完成了项目中常见的问题,比如 路由请求.结构分层.视图渲染.静态资源等. 那么,JSON 呢?JSON 格式数据的传输,已经深入到了我们的码里行间,脱离了 JSON 的人想必是痛苦的.那么,复合吧! 如何设置 JSON 格式 伟大的武术家--李小龙先生--说过这样一段话: Empty your mind, Be formless,s…
视频地址:https://www.cctalk.com/v/15114923889408 文章 在前面几节中,我们已经实现了项目中的几个常见操作:启动服务器.路由中间件.Get 和 Post 形式的请求处理等.现在你已经迈出了走向成功的第一步. 目前,整个示例中所有的代码都写在 app.js 中.然而在业务代码持续增大,场景更加复杂的情况下,这种做法无论是对后期维护还是对患有强迫症的同学来说都不是好事.所以我们现在要做的就是:『分梨』. 分离 router 路由部分的代码可以分离成一个独立的文件…
node.js的http模块的基础 学到的东西 其中客户端:我们在node.js中如果要请求服务端中的js或者其他脚本的话要使用http.request()方法他会返回http.ClientRequest这个对象的实例.而这个对象中的第二个参数是一个函数这个函数中的参数为http.ClientReponse这个对象的实例(也就是要把服务器返回的内容回显出来的一个操作) 点击(此处)折叠或打开 http.request(options,function(**res**){ res.setEncod…
在一些系统中,我们希望给用户提供插入自定义逻辑的能力,除了 RPC 和 REST 之外,运行客户提供的代码也是比较常用的方法,好处是可以极大地减少在网络上的耗时.JavaScript 是一种非常流行而且容易上手的语言,因此,让用户用 JavaScript 来写自定义逻辑是一个不错的选择.下面我们介绍 Node.js 提供的 vm 模块以及分析用它来运行不信任代码可能遇到的问题. vm 模块 vm 模块是 Node.js 内置的核心模块,它能让我们编译 JavaScript 代码和在指定的环境中运…
1.Node.js是什么? (1) Nodejs是为了开发高性能的服务器而诞生的一种技术 (2) 简单的说 Node.js 就是运行在服务端的 JavaScript,基于V8进行运行 (3) Node.js 使用了一个事件驱动.非阻塞式 I/O 的模型,使其轻量又高效. 2.Node.js的File模块 1.引入模块 var fs = require("fs"); 2.操作文件夹 2.1创建文件夹 //创建文件夹—fs.mkdir fs.mkdir(path[, options], c…
有时候我们在windows上会保存一些中文文字信息文件,然而由于编码集的差异,这文件在linux上显示为乱码,其中一种解决方法是node.js的iconv模块 var fs = require('fs'); var readstream = fs.createReadStream('./新建文本文档.txt'); var str=''; var iconv = require('iconv-lite'); ; readstream.on('data',function (chunk) { str…
Node.js 实战 & 最佳 Express 项目架构 Express Koa refs https://github.com/xgqfrms/learn-node.js-by-practice xgqfrms 2012-2020 www.cnblogs.com 发布文章使用:只允许注册用户才可以访问!…
本文,将使用fs开发一种简单的文件型数据库. 数据库中,记录将采用JSON模式,内容型如: {"key":"a","value":"123"} 支持查询.更新.删除操作. 代码分两部分,一部分是我们将其写为模块,另一部分,是对该模块的调用. 直入主题, 模块部分(文件名:database.js): //核心模块 var fs = require("fs"); var event_emitter = requ…
有时候,希望通过一个require来加载一个目录下的相关文件. 注:这个方法通常被用来作为组织web应用的架构技巧. 为达到这个目的,需要如此操作: 例:建立一个目录,在此目录中创建一个index.js文件. index.js内容如下: 这个模块,用于组合one.js和two.js两个子模块,将他们合并一起做输出. 那么,one.js.two.js是需要存在的,他们的内容如下: 这时,只要require group目录,便可调用到one.js和two.js: 执行,会是什么样的输出呢? 没错,就…
前言 刚回答了SegmentFault上一个兄弟提的问题<非对称解密出错>.这个属于Node.js在安全上的应用,遇到同样问题的人应该不少,基于回答的问题,这里简单总结下. 非对称加密的理论知识,可以参考笔者前面的文章<NODEJS进阶:CRYPTO模块之理论篇>. 完整的代码可以在 <Nodejs学习笔记> 找到,也欢迎大家关注 程序猿小卡的GitHub. 加密.解密方法 在Node.js中,负责安全的模块是crypto.非对称加密中,公钥加密,私钥解密,加解密对应的…
Node.js安装 1.下载对应你系统的Node.js版本: https://nodejs.org/en/download/ 命令提示符下输入命令 node -v 会显示当前node的版本 快速入门 1 控制台输出 如何在控制台输出,创建文本文件demo1.js,代码内容 var a=1; var b=2; console.log(a+b); 在命令提示符下输入命令 node demo1.js 2 使用函数 创建文本文件demo2.js var c=add(100,200); console.l…
console模块提供了一个简单的调试功能,类似与web浏览器的javscript console. 下面简单介绍下该模块的使用以及用途,我使用了ES6的模版字符串(使用反引号标识),有兴趣的可以去了解. 1.打印信息到stdout 使用console.log(),console.info()以及console.warn()等方法打印信息,info,warn都是log方法的别名,如果是浏览器环境,它们的显示颜色有差异.使用上有点类似C语言的printf()函数,使用如下所示: const inf…
基本模块之fs 异步读文件 异步读取一个文本文件的代码如下: 'use strict'; var fs = require('fs'); fs.readFile('sample.txt', 'utf-8', function (err, data) { if (err) { console.log(err); } else { console.log(data); } }); 异步读取时,传入的回调函数接收两个参数,当正常读取时,err参数为null,data参数为读取到的string.当读取发…
前言: Node.js的模块系统类似于C/C++的文件引用,可以声明对象,也可以定义类 创建对象. 大家这么理解,就简单了. 定义: 为了让Node.js的文件可以相互调用,Node.js提供了一个简单的模块系统. 模块是Node.js应用程序的基本组成部分,文件和模块是一一对应的. 换言之,一个Node.js文件就是一个模块,这个文件可能是Javascript代码.JSON或者编译过的C/C++扩展. 实例一: 这个实例演示的是,在hello.js中创建一个方法,然后在主程序main.js中调…