node.js(二)】的更多相关文章

http模块 第一章已经介绍了 node.js 的模块都可以传一个回调函数  回调函数支持两个参数  error , data let fs = require('fs'); fs.readFile('/a.txt',(error,data) => { }) fs模块的方法 fs.mkdir(path,callback) 创建文件夹   若已存在会报错 fs.open(path,callback) 打开文件 fs.readFile(path,callback) 读取文件 fs.readdir(p…
get: 不安全 小 2k 数据会在地址栏上显示 从服务器获取 快 post: 相对安全 https 大 1G 不会 向服务器发送 慢 get:直接解析url地址 借助 url模块 var urlObj = modUrl.parse(url,true); urlObj:{pathname,query} post:解析数据 需要 监听两个事件 var str = ""; req.on("data",function(data){ str+=data; }); req.…
这周做项目做得比较散(应该说一直都是这样),总结就依据不同情境双开吧-这篇记录的是关于node的学习总结,而下一篇是做项目学到的web前端的知识. 1.HTTP篇 node的HTTP模块在第一篇时接触过,这里来学习几个例程中出现的API. var qs = require('querystring'); require('http').createServer(function(req, res){ if('/' == req.url){ res.writeHead(200, {'Content…
今天我们学习如何运行起来一个项目,我还不会新建项目,所以我们打开一个小伙伴创建的项目,我用的开发工具是vscode 选择项目所在文件夹就好了. 打开后是这样子的 我们还要安装一下npm, 在这里安装,安装完我们项目文件下就可以看到node_moudles文件了, 执行 npm install express命令…
---恢复内容开始--- 1.安装CNPM 因为天草的 Great Wall 导致下载速度龟速....所以安装Cnpm淘宝镜像 2.命令 2.1 如果版本合适 设置镜像地址 npm config set registry http://registry.npm.taobao.org/ 安装CNPM npm install cnpm -g 检查 CNPM cnpm -v 2.2 如果版本过高 如下提示: 2.2.1 解决方法 将npm 降级 npm install npm@4.6.1 -g 重新安…
使用Coding.net来搭建基于Hexo的博客 一.准备工作 什么是Coding.net Coding可以说,就是国产的Github,但是,有一个功能使它似乎超越了GitHub-那就是 Web IDE. Coding WebIDE 是 Coding 自主研发的在线集成开发环境 (IDE).用户可以通过 WebIDE 创建项目的工作空间, 进行在线开发, 调试等操作.同时 WebIDE 集成了 Git 代码版本控制, 用户可以选择 Coding.GitHub.BitBucket.git@OSC…
node.js是一个基于 Chrome V8 引擎的 JavaScript 运行时环境. 一.类比JavaScript和java JavaScript java V8 JVM node.js JRE JavaScript和java都是一门编程语言,至于两者的关系,是雷锋和雷峰塔的关系 V8是google开源的JavaScript引擎,用于执行JavaScript,类似JVM执行java字节码.在node.js诞生之前,V8是内置于Chromium中的,现在也内置于node.js中 node.js…
一.Node.js 前言 1.node.js 之父 Ryan Dahl(瑞安达尔) ,技术好,颜值高! 数学系博士, 中途退学, 为了生活, 学习了Ruby On Rails接Web项目, 经过两年成了Web服务器专家.第一个阶段: 接项目做网站.第二个阶段: 帮助客户解决性能问题. 2009年推出Node.js, 2012年退出Node.js, 转战Go语言. 2.Node出现的背景 为了解决Web服务器的高并发性能问题,Dyan Dahl 尝试用 ruby,c,lua去解决,但因语言自身原因…
一.node.js介绍 1.1.node.js是什么 官网首页总结:Node.js® 是一个基于 Chrome V8 引擎 的 JavaScript 运行时. 1)node.js是一个开发平台,就像java开发平台..net开发平台.PHP开发平台.Apple开发平台一样. - 什么是开发平台:有对应的编程语言.有语言运行时.有能实现特定功能的API(SDK Software Development Kit) 2)node.js平台使用的编程语言是JavaScript. 3)node.js平台是…
最近在做一个扫码登录功能,为此我还在网上搜了一下关于微信的扫描登录的实现方式.当这个功能完成了后,我决定将整个实现思路整理出来,方便自己以后查看也方便其他有类似需求的程序猿些. 要实现扫码登录我们需要解决两个问题: 1.  在没有输入用户名及密码的情况下,如何解决权限安全问题?换句话讲,如何让服务器知道扫码二维码的客户端是一个合法的用户? 2.  服务器根据用户在客户端的选择如何实时在网页上作出相应的响应? 首先我们先理一下微信的实现思路,来方便我们理解解决这一难题的思路方向.微信登录的二维码实…
一:感触 最近工作比较忙,感觉也比较多,因为工作上的不顺利,再加上加班比较多,所以最近心情不是很好,再加上英语能力差到不行,所以最近半个月学习进度也比较慢, 但还是告诉自己每天都坚持学一点,即使今天心情再不好,不行也代码,也会看一些相关的文章,或者和一些朋友聊聊技术上的事.抱怨少一些,努力多一些. 二:fs模块部分api解读 2.1 fs.readFile,appendFile,writeFile /** * Created with JetBrains WebStorm. * author:…
Node.js之操作文件系统(二) 1.创建与读取目录 1.1 创建目录 在fs模块中,可以使用mkdir方法创建目录,该方法的使用方法如下: fs.mkdir(path,[mode],callbcak) //第一个参数:指定需要被创建的目录的完整路径及目录名, 第二个参数:指定该目录的权限,默认为0777 第三个参数,用于创建目录操作完毕时调用的回调函数, function(err){ } 在使用同步方法创建目录时,可以使用fs模块中的mkdirSync方法,使用该方法如下: fs.mkdir…
前期准备 阿里云服务器 node.js pm2 express nginx linux(推荐教程:鸟哥的私房菜) 简介 嗯……我只是个前端而已 在第一部分说完了express篇. 后面继续项目的部署,这里主要说说篇pm2和nginx pm2和forever 1.forever 在提到pm2先说说 forever这个东西,使用过node.js可能都是有知道forever这个东西的. 顾名思义,就是让脚本永远的运行,除非你手动写命令去关闭. 关于forever的使用方法有两种,一种是命令行的形式,还…
node.js进阶 一.回顾与继续   对于一种语言的认识都是经历这样的一个过程的,首先从原生的环境(CMD)中开始学习,找到一门语言之间各种引用的本质和相互之间的调用方式,明澈各种依赖关系,在这个基础上我们可以进行一些比较简单的编程,但是却总是感觉到自己需要做很多底层的工作,开发的效率也比较低,因此在基本熟练的基础上,我们就需要使用IDE这种集成开发环境来进行大规模项目的开发和对接了.而node.js同样如此,在这里我推荐使用WebStorm来作为node.js的IDE,在这种环境中我们可以便…
Node.js 开发的目的就是为了用 JavaScript 编写 Web 服务器程序 这次就来介绍用 http 模块搭建服务器 一.项目构建 每个 Node 程序都可以看作一个模块,而每个模块都应该有一个 package.json 文件 package.json 用来定义模块的属性,还可以用来指明程序的依赖项.它可以手动创建,也可以通过 init 命令自动创建 npm init 如果还需要引入第三方模块,可以在 package.json 中手动配置,也可以通过 install 命令安装 比如安装…
在Node.js中,我们可以通过qr-image包直接在后台生成二维码图片,使用方法很简单: var qr = require('qr-image'); exports.createQRImage = function(res, str){ var img = qr.image(str); // 将生成二维码图片 res.writeHead(200, {'Content-Type': 'image/png'}); img.pipe(res); }; 但是如果我们希望生成的不仅仅是二维码,而是在一…
本篇介绍下 Node.js post 请求 需求: 用户登录,前端界面输入用户名和密码,点击登录请求后台验证,根据后台反馈的信息做出响应 前端: (1)使用form表单 (2)使用ajax异步请求 服务端: (1)创建接口供前端请求 (2)获取数据并与固定数据 / 数据库进行对比验证,返回结果给前端 前端驱动后端,先贴前端代码 <form> <label> <span>用户名</span> <input type="text" pl…
因为自己的项目中,想在商品详情页上 显示一个 商品优惠券的二维码. 以此为需求. node.js 后台代码 const qr_image = require("qr-image"); app.get("/qrcode/txt", async (req, res, next) => { const temp_qrcode = qr_image.image(req.query.text); res.type("png"); temp_qrcod…
node.js 初学(二)—— 搭建注册/登录服务器 理论上来说,代码实现在理论和实际上是一样的.但实际上来说,他们不是 做一个最简单的用户注册登录功能 1.接口定义: 注册:/user?act=reg&user=wjw&pass=123456 返回:{"ok":false,"meg":"原因"} 登录:/user?act=login&user=wjw&pass=123456 返回:{"ok":…
上一章讲到怎么样用原生node.js来获取GET.POST(urlencoded,formData)的参数,这一次我们更进一步,讲一下以下的点: 1.压缩(zlib) 2.流(stream) 3.路由 一.压缩 所有网站其实在发送到我们的客户端的时候,数据都是经过压缩的,不然会造成大量的流量损失,流量可都是钱啊~~~ node里面有一个模块叫zlib,是专门用来压缩数据的,而我们最常用的就是gzip const zlib = require('zlib'); //创建gz对象,之后就可以对流进行…
一.一个牛逼闪闪的知识点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…
好久没写了,今天看博客,觉得有必要把node.js继续写完,善始善终.原本想着把小崔课堂继续讲下去,由于其他原因也就此耽搁下来,看看以后还有没有机会吧.废话不扯,123开始. 一.Exoress之Request对象 对于Request对象做过网络这块的应该都不陌生,ios.C#都会有,其他语言基本都会有,Node.js也不例外,毕竟都是HTTP协议. var express = require('express'); var app = express(); app.listen(); app.…
前面的博客 Node.js文件操作一中主要是对文件的读写操作,其实还有文件这块还有一些其他操作. 一.验证文件path是否正确(系统是如下定义的) fs.exists = function(path, callback) { if (!nullCheck(path, cb)) return; var req = new FSReqWrap(); req.oncomplete = cb; binding.stat(pathModule._makeLong(path), req); function…
Node.js 异步编程的直接体现就是回调. 那什么是回调呢?回调指的是将一个函数作为参数传递给另一个函数,并且通常在第一个函数完成后被调用.需要指明的是,回调函数不是由该函数的实现方直接调用,而是在特定的事件或条件发生时由另外的一方调用的,用于对该事件或条件进行响应.回调函数在完成任务后就会被调用,Node 使用了大量的回调函数,Node 所有 API 都支持回调函数.例如,我们可以一边读取文件,一边执行其他命令,在文件读取完成后,我们将文件内容作为回调函数的参数返回.这样在执行代码时就没有阻…
玩转Node.js(二) 先来回顾上次的内容,上一次我们使用介绍了Node.js并写了第一个服务器端的Hello World程序,在这个Hello World程序中,请求自带的http模块并将其赋给http变量,然后调用http模块的createServer函数,这个函数会返回一个对象,这个对象有一个叫做listen的方法,而这个方法有一个数值参数,指定这个HTTP服务器监听的端口号,我们当时定义的是8888端口号.那么为什么看起来有些复杂呢?那是因为我们向createServer函数传递了一个…
Cookie和Session在Node.JS中的实践(二) cookie篇在作者的上一篇文章Cookie和Session在Node.JS中的实践(一)已经是写得算是比较详细了,有兴趣可以翻看,这篇是session篇,重点在讨论session的特性.概念,以及session和cookie的区别和联系. session COOKIE存在于客户端,而SESSION存在于服务端,并且SESSION需要COOKIE的支持. session是存在于服务端的信息管理机制,它把客户端信息以某种信息形式记录在服务…
前言 各种编程语言均有其优势和生态,有兴趣的朋友完全可以涉猎多门语言.在平常的工作之中,也可以尝试选择相对适合的编程语言来完成相关的工作. 在团队技术文档站搭建这块,笔者尝试了许多框架,最终还是选择了Hexo,主要是由于其丰富的主题和插件,并且灵活和高度可定制化,改起来也非常方便.我们团队文档站即使用Hexo来构建,并且基于容器配置了完整的代码流水线:docs.xin-lai.com 如果对站点配置.主题.插件存在疑问,可以加群沟通. 目录 官方镜像  编写一个简单的Web服务器  编码 编写D…
1.1.2 Node.js控制台(REPL) Node.js也有自己的虚拟的运行环境:REPL. 我们可以使用它来执行任何的Node.js或者javascript代码.还可以引入模块和使用文件系统. 在终端的执行命令来打开控制台, 1.1.3 加载Node.js脚本 记载node.js脚本文件非常简单,运行"node 文件名"即可,"node program.js".如果我们想快速执行一些简单的语句,可以使用-e参数,这样我们直接执行一些javascript或者no…
四. Cluster 1.简介 在介绍 Cluster 之前.我们需要知道 node的 一些基本特性,比如说 都知道的 nodejs最大的特点就是单进程.无阻塞运行,并且是异步事件驱动的. 那么随之而来的最大的缺点也展现出来了,如在服务器开发中,并发的请求处理是个大问题,阻塞式的函数会导致资源浪费和时间延迟. 如何来解决这个缺点呐? 那么 Cluster 就是来处理这个问题的 2.函数 const cluster = require('cluster'); 3.例子 const cluster…
看了Node.js开发指南发现routes和app.js分开的话要使用下面代码 app.use(express.router(routes)) 但是真正是使用上面代码会遇到无数的问题报错 找了资料才发现express3.X不支持那个了 后来使用 routes(app); index.ejs随之变成 /* * GET home page. */ module.exports=function(app){ app.get('/',function(req,res){ res.render('inde…