nodejs
Node.js学习笔记
axincto
这个作者很懒,什么都没留下…
展开
-
express 引入cookie
一、关于Cookie在我们关闭一个登录过的网址并重新打开它后,我们的登录信息并没有丢失;在我们浏览了商品后历史记录里出现了我们浏览过的商品;在我们返回到网站首页后,系统已为我们推荐了相似的商品;这些是如何做到的呢?对,通过Cookie。世界上没有黑魔法,程序里面也没有黑魔法,事实上只要我们在浏览器中进行过某类操作后,浏览器会将我们的操作信息保存到cookie中。简而言之,cookie就是储存在用户本地终端(浏览器)上的数据。Cookie的特点cookie保存在浏览器本地,只要不过期关闭浏览器也不会消原创 2020-08-04 22:05:27 · 230 阅读 · 0 评论 -
express之中间件
声明:转载请注意出处技术交流:微信公众号:北piao青年EMAIL: hoojiaxin@hotmail.com中间件是在接收到请求和发送响应中间的一系列操作。事实上,express是一个路由和中间件的web框架,Express 应用程序基本上是一系列中间件函数的调用。中间件函数可以执行以下任务:执行任何代码。对请求和响应对象进行更改。结束请求/响应循环。调用堆栈中的下一个中间件函数。中间件也分为应用层中间件、路由中间件、内置中间件、错误处理中间件和第三方中间件。一、应用层中间.原创 2020-07-28 23:48:50 · 162 阅读 · 1 评论 -
express如何获取请求参数
声明:转载请注意出处技术交流:微信公众号:北piao青年EMAIL: hoojiaxin@hotmail.com获取GET请求参数1、关于get请求一般在web应用开发中,get都用作数据获取和查询,服务器根据查询请求的参数从数据库或其他地方查询数据,将数据返回给调用者;而查询的参数是在URL上进行的http://localhost:3000/login?username=david&password=1234562、获取前端get请求通过req.query可以获得用户发送的.原创 2020-07-27 22:06:17 · 256 阅读 · 0 评论 -
express 之 ejs模板引擎
ejs模板引擎官方文档一、简介相比于jade模板引擎,ejs对原HTML语言就未作出结构上的改变,只不过在其交互数据方面做出了些许修改,相比于jade更加简单易用。因此其学习成本是很低的。二、安装如果使用express脚手架创建项目,项目默认中已经包含了ejs模板引擎如果不是采用express创建的项目,或者项目中没有,可以使用以下命令安装cnpm install ejs --save二、基本使用我们在express项目中简单使用ejs模板引擎:movies.ejs文件注意后缀名为.原创 2020-07-26 22:07:48 · 256 阅读 · 0 评论 -
Express路由
一、Express路由简介路由表示应用程序端点 (URI) 的定义以及响应客户端请求的方式。它包含一个请求方式(methods)、路径(path)和路由匹配时的函数(callback);app.methods(path, callback);二、Express路由方法Express方法源于 HTTP 方法之一,附加到 express 类的实例。它可请求的方法包括:get、post、put、head、delete、options、trace、copy、lock、mkcol、move、purge、p原创 2020-07-16 23:27:49 · 210 阅读 · 0 评论 -
Express简介和安装
前言ndoe.js,一个基于javsscript运行环境的服务器语言,它的出现使得javascript有能力去实现服务器操作。在gitHub上ndoe.js的star数已接近6万,可见其受欢迎程度;而基于node.js的Express则把原先的许多操作变的简单灵活,一系列强大特性帮助你创建各种 Web 应用,和丰富的 HTTP 工具。使用 Express 可以快速地搭建一个完整功能的网站。express官方网址:www.expressjs.com.cnExpress的安装方式Express的安装可直原创 2020-07-14 22:29:27 · 309 阅读 · 0 评论 -
Node.js 动手实现简单的模板引擎(列表渲染)
准备HTML模板文件index.html<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title></head><body&原创 2020-07-11 22:19:31 · 306 阅读 · 0 评论 -
Promise对象原理解析
Promise对象原理解析ES6 原生提供了 Promise 对象。所谓 Promise,就是一个对象,用来传递异步操作的消息。它代表了某个未来才会知道结果的事件(通常是一个异步操作),并且这个事件提供统一的 API,可供进一步处理。异步方法的各种调用形式以ajax请求为例ES5正常写法这种写法缺点如果在回调中还有需要执行的异步方法,容易进入套娃模式。$.get(url,(res)=>{ //此处执行请求成功的回调 $.get(url2,(res2)=>{ //此原创 2020-07-09 21:55:59 · 162 阅读 · 0 评论 -
Node.js 动手实现简单的模板引擎
准备HTML模板文件index.html<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title></head><body>原创 2020-07-09 21:51:15 · 130 阅读 · 0 评论 -
Node.js 之 http静态服务器实现
http静态服务器实现涉及模块http path fs静态服务器定义能够根据需要请求的文件,原封不动的将服务器磁盘中的数据直接返回给到浏览器。根据设定的目录,判断用户是否请求的文件是否是静态文件let path = require('path');//解析路径let urlObj = path.parse(req.url)//判断是否请求静态文件urlObj.dir=='/static'从磁盘读取静态文件并返回//根据请求的后缀名,返回文件的类型res.setHea原创 2020-07-08 22:15:01 · 125 阅读 · 0 评论 -
Node.js 爬虫流程分析及使用到的库
什么是爬虫通过模拟浏览器的请求,服务器就会根据我们的请求返回我们想要的数据,将数据解析出来,保存到本地文件或数据库中。爬虫的流程明确目标确定想要的数据在什么页面上(一般详细的数据会在详情页)确定在哪些页面可以链接到这些页面(一般分类列表页面会有详情页的链接数据)寻找页面之间和数据之间的规律分析页面获取数据的方式(使用正则匹配,还是使用cherrio库解析)分析数据是通过ajax请求的数据(前端渲染),还是html里自带的数据(后端渲染)如果是通过AJAX请求的数据,那么需要获取aj原创 2020-07-06 21:52:25 · 311 阅读 · 0 评论 -
Node.js 之 http模块
http模块引入http模块开启一个本地服务器需要Node.js中http核心模块http–模块提供了搭建本地服务器的API,首先我们在项目中引入;let http = require('http')创建服务器实例引入之后我们利用http.createServer()方法得到一个服务器实例。let server = http.createServer() // createServer()方法返回一个server实例,所以我们需要一个变量来接收经过以上两步,我们已经搭建好了一个服务器实例原创 2020-07-06 21:46:35 · 113 阅读 · 0 评论 -
Node.js 之 Puppeteer
Puppeteer中文文档:https://zhaoqize.github.io/puppeteer-api-zh_CN/#/出现的背景Chrome59(linux、macos)、 Chrome60(windows)之后,Chrome自带headless(无界面)模式很方便做自动化测试或者爬虫。但是如何和headless模式的Chrome交互则是一个问题。通过启动Chrome时的命令行参数仅能实现简易的启动时初始化操作。Selenium、Webdriver等是一种解决方案,但是往往依赖众多,不够扁原创 2020-07-05 00:08:47 · 1492 阅读 · 0 评论 -
Node.js 之 cherrio
cheerio是jquery核心功能的一个快速灵活而又简洁的实现,主要是为了用在服务器端需要对DOM进行操作的地方简介cheerio是nodejs的抓取页面模块,为服务器特别定制的,快速、灵活、实施的jQuery核心实现。适合各种Web爬虫程序。让你在服务器端和html愉快的玩耍var cheerio = require('cheerio'), $ = cheerio.load('<h2 class = "title">Hello world</h2>');$.原创 2020-07-04 23:54:43 · 1216 阅读 · 0 评论 -
Node.js 事件机制
Node.js 事件机制Node.js 是单进程单线程应用程序,但是因为 V8 引擎提供的异步执行回调接口,通过这些接口可以处理大量的并发,所以性能非常高。Node.js 几乎每一个 API 都是支持回调函数的。Node.js 基本上所有的事件机制都是用设计模式中观察者模式实现。Node.js 单线程类似进入一个while(true)的事件循环,直到没有事件观察者退出,每个异步事件都生成一个事件观察者,如果有事件发生就调用该回调函数.whild(true){ // 初始化事件列表原创 2020-07-02 22:21:03 · 143 阅读 · 0 评论 -
Nodejs之Stream(流)
Stream(流)Stream 是一个抽象接口,Node 中有很多对象实现了这个接口。例如,对http 服务器发起请求的request 对象就是一个 Stream,还有stdout(标准输出)。Node.js,Stream 有四种流类型:Readable - 可读操作。Writable - 可写操作。Duplex - 可读可写操作.Transform - 操作被写入数据,然后读出结果。所有的 Stream 对象都是 EventEmitter 的实例。常用的事件有:data - 当有数据可原创 2020-07-02 22:09:37 · 195 阅读 · 0 评论 -
npm常用命令
npm英文全称:node package manager,npm 为你和你的团队打开了连接整个 JavaScript 天才世界的一扇大门。它是世界上最大的软件注册表,每星期大约有 30 亿次的下载量,包含超过 600000 个 包(package) (即,代码模块)。来自各大洲的开源软件开发者使用 npm 互相分享和借鉴。包的结构使您能够轻松跟踪依赖项和版本。 我们平时开发项目都是需要使用npm下载依赖,常见的npm命令总结如下:npm -v:查看npm版本。npm init:初始化后会出现一个pac原创 2020-06-30 21:20:25 · 134 阅读 · 0 评论 -
require加载第三方包的规则
Node.js中使用CommonJs模块化机制,通过npm下载的第三方包,我们在项目中引入第三方包都是:let xx = require('第三方包名')究竟require方法加载第三方包的原理机制是什么,今天我们来探讨下。require('第三方包名')优先在加载该包的模块的同级目录node_modules中查找第三方包。let template = require('art-template') //加载第三方包找到该第三方包中的package.json文件,并且找到里面的main属性原创 2020-06-30 21:19:22 · 347 阅读 · 0 评论 -
Node.js 模块化
Node.js采用的是CommonJs规范,在NodeJS中,一般将代码合理拆分到不同的JS文件中,每一个文件就是一个模块,而文件路径就是模块名。在编写每个模块时,都有require、exports、module三个预先定义好的变量可供使用。Node.js中模块的分类:核心模块(已经封装好的内置模块);自己定义的模块;第三方的模块(npm下载下来的);requirerequire函数用来在一个模块中引入另外一个模块。传入一个模块名,返回一个模块导出对象。用法:let cc = requi原创 2020-06-29 21:52:13 · 97 阅读 · 0 评论 -
使用Nodemon自动重启项目
我们在开发的过程中,每次改完代码之后都必须重启服务器,显然这样的操作效率是比较低,这里给大家推荐个工具,nodemon,nodemon可以帮我们实时监听项目中代码的变化,并且自动重启服务,而且配置简单。安装:npm install -g nodemon使用nodemon运行项目,取代之前的node app.js。nodemon [your app.js]项目运行之后,nodemon会自动监听代码的改动,并且重新启动服务,大大增加我们开发效率。nodemon常见配置• 在命令行指原创 2020-06-29 21:40:53 · 155 阅读 · 0 评论 -
Node.js简介
Node.js简介Node.js是什么?Node.js 诞生于 2009 年,由 Joyent 的员工 Ryan Dahl 开发而成, 目前官网最新版本已经更新到 12.0.0版本,最新稳定的是10.15.3。Node.js 不是一门语言也不是框架,它只是基于 Google V8 引擎的 JavaScript 运行时环境,同时结合 Libuv 扩展了 JavaScript 功能,使之支持 io、fs 等只有语言才有的特性,使得 JavaScript 能够同时具有 DOM 操作(浏览器)和 I/O、文件读原创 2020-06-28 20:46:54 · 83 阅读 · 0 评论 -
Node.js安装和简单使用
Node.js安装和简单使用安装方法简单的安装方式是直接官网下载,然后本地安装即可。官网地址:nodejs.orgWindows系统下,选择和系统版本匹配的.msi后缀的安装文件。Mac OS X系统下,选择.pkg后缀的安装文件。测试是否安装成功打开终端,键入命令node,如果进入命令行式js交互环境,即安装成功。我们可以直接在终端node环境下输入简短的js代码,比如正则表达式。如果要运行一大段代码的话,可以先写一个JS文件再运行。例如有以下hello.js。function原创 2020-06-28 20:52:42 · 119 阅读 · 0 评论