avatar
Articles
96
Tags
150
Categories
68

Home
Archives
Tags
Categories
伍新奎的博客空间
Home
Archives
Tags
Categories
node自学之Nodejs 路由模块封装、封装仿照express的路由
Created2020-05-16|node|node•路由模块封装•express路由
终极目标:掌握和使用node 本博客目的:记录node学习的进度和心得 内容:Nodejs中的路由模块封装、封装仿照express的路由。 路由模块封装(模块化的方式封装)​ 上一个blog,我们把get和post操作都写到了服务器代码中,显得很大很臃肿,应该进行封装。 ​ 所以我们创建模块,把所有的路由操作封装在这个文件里面: model.js,即把路由以属性的方式封装到app对象,最后导出这个app对象: 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859var ejs=require('ejs');var fs=require('fs');var app={ //login 路由 login:function(req,res){ console.log('login'); //res.end ...
node自学之NodeJs WEB服务器、静态文件托管、 路由、EJS模板引擎、GET、POST
Created2020-05-15|node|路由•node•WEB服务器•静态文件托管•EJS模板引擎•GET•POST
终极目标:掌握和使用node 本博客目的:记录node学习的进度和心得 内容:Nodejs中的NodeJs WEB服务器、静态文件托管、 路由、EJS模板引擎、GET、POST。 Nodejs 静态文件托管​ 上一个blog介绍了如何使用nodejs创建一个WEB服务器,用于静态文件托管。 ​ 但我们会发现,大量的代码写在一块,比较混乱。其实我们可以把一些代码封装为一个模块(router.js),然后使得服务器代码简化: ​ 即大量的读取文件等操作(路由操作),封装为一个router.js文件 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172var fs=require('fs');var path=require('path'); var url=require('url');function ge ...
node自学之Nodejs的非阻塞I/O、异步、事件驱动
Created2020-05-14|node|node•非阻塞I/O•异步•事件驱动
终极目标:掌握和使用node 本博客目的:记录node学习的进度和心得 内容:Nodejs中的Nodejs的非阻塞I/O、异步、事件驱动。 Nodejs的单线程、非阻塞I/O、事件驱动​ 在Java、PHP或者.net等服务器端语言中,会为每一个客户端连接创建一个新的线程。而每个线程需要耗费大约2MB内存。也就是说,理论上,一个8GB内存的服务器可以同时连接的最大用户数为4000个左右。要让Web应用程序支持更多的用户,就需要增加服务器的数量,而Web应用程序的硬件成本当然就上升了。 (高并发场景) ​ Node.js不为每个客户连接创建一个新的线程,而仅仅使用一个线程。当有用户连接了,就触发一个内部事件,通过非阻塞I/O、事件驱动机制,让Node.js程序宏观上也是并行的。使用Node.js,一个8GB内存的服务器,可以同时处理超过4万用户的连接。 ​ 之前,我们使用fs模块的readFile方法是一个异步方法,或者说是非阻塞式IO。 ​ 所以代码: ​ ​ 结果: 但是,当我们在外部使用这个异步方法的时候,会出undefined 因为,这个方 ...
node自学之利用HTTP模块 URl模块 PATH模块 FS模块创建一个WEB服务器
Created2020-05-14|node|node•HTTP模块•URl模块•PATH模块•FS模块•WEB服务器
终极目标:掌握和使用node 本博客目的:记录node学习的进度和心得 内容:Nodejs中的利用HTTP模块 URl模块 PATH模块 FS模块创建一个WEB服务器。 WEB服务器​ Web服务器一般指网站服务器,是指驻留于因特网上某种类型计算机的程序,可以向浏览器等Web客户端提供文档,也可以放置网站文件,让全世界浏览;可以放置数据文件,让全世界下载。 ​ 目前最主流的三个Web服务器是Apache Nginx IIS。 Nodejs创建一个WEB服务器​ 可以用nodejs提供一个WEB服务器。 ​ 最初,我们会放置静态文件到服务器,有图片,css,JS,HTML等。然后当客户端发送请求,服务器需要解析请求URL,找到正确的资源位置,然后以一定形式返回。 ​ 例子1: 123456789101112131415161718192021222324252627282930313233343536373839404142//引入http模块var http=require('http');//fs模块var fs=require('fs' ...
node自学之Nodejs中的fs模块的使用,异步处理
Created2020-05-12|node|node•fs模块•管道流•async•await
终极目标:掌握和使用node 本博客目的:记录node学习的进度和心得 内容:Nodejs中的fs模块的使用。 fs模块​ fs模块用于文件操作,是node内置的模块。 ​ 有大量的方法:(这些方法可以通过vscode中ctrl+鼠标点击打开源码,查看相关参数等) ​ 为了举例说明相关操作,我们创建一个文件夹,里面先使用npm init –yes强制生成一个package.json文件。然后创建入口文件app.js。 ​ 首先,我们使用这个fs模块时,先导入 fs.stat 检测是文件还是目录 判断html是文件还是目录(先手动创建html文件夹): 结果(命令行输入node app.js): 当判断package.json是文件还是目录: fs.mkdir 创建目录 通常用于如果判断一个目录是否存在,如果不存在则用这个方法创建目录。 例如用这个方法创建css目录: 如果目录以存在则报错说已存在,不存在则创建。上面的mode参数和callback参数可以不写。 fs.writeFile 创建写入文件 例如我们可以在html文件夹里面创建index.html文件 ...
node自学之Nodejs中的包、npm 、第三方模块、package.json 以及cnpm
Created2020-05-10|node|node•npm•第三方模块•package.json•cnpm
终极目标:掌握和使用node 本博客目的:记录node学习的进度和心得 内容:Nodejs 中的包、npm 、第三方模块、package.json 以及cnpm。 包与npm​ Nodejs 中除了它自己提供的核心模块外,我们可以自定义模块,也可以使用第三方的模块(属于自定义模块)。Nodejs 中第三方模块由包组成,可以通过包来对一组具有相互依赖关系的模块进行统一管理。 ​ ​ 其中某模块引入的包中,其可能也是内部需要引入一些其他的模块。 完全符合CommonJs 规范的包目录一般包含如下这些文件。• package.json :包描述文件。• bin :用于存放可执行二进制文件的目录。• lib :用于存放JavaScript 代码的目录。• doc :用于存放文档的目录。 ​ 在NodeJs 中通过NPM (包管理工具)命令来下载第三方的模块(包)。所有的第三方模块都可以在官网找到。 NPMnpm 是世界上最大的开放源代码的生态系统。我们可以通过npm 下载各种各样的包,这些源代码(包)我们可以在https://www.npmjs.com 找到。 npm 是随同NodeJ ...
node自学之CommonJs 和Nodejs 模块、自定义模块
Created2020-05-09|node|node•CommonJs•Nodejs 模块•自定义模块
终极目标:掌握和使用node 本博客目的:记录node学习的进度和心得(CommonJs 和Nodejs 模块、自定义模块) 内容:CommonJs 和Nodejs 模块、自定义模块。 CommonJs 和Nodejs 模块、自定义模块CommonJs​ 什么是commonJS ​ JavaScript 是一个强大面向对象语言,它有很多快速高效的解释器。然而, JavaScript标准定义的API 是为了构建基于浏览器的应用程序。并没有制定一个用于更广泛的应用程序的标准库。CommonJS 规范的提出,主要是为了弥补当前JavaScript 没有标准库的缺陷。它的终极目标就是:提供一个类似Python,Ruby 和Java 语言的标准库,而不只是让JavaScript 停留在小脚本程序的阶段。用CommonJS API 编写出的应用,不仅可以利用JavaScript 开发客户端应用,而且还可以编写以下应用:​ •服务器端JavaScript 应用程序。(nodejs)​ •命令行工具。​ •桌面图形界面应用程序。 CommonJS 就是模块化的标准,nodejs 就是CommonJ ...
node自学之HTTP 模块、URL 模块、supervisor 工具
Created2020-05-08|node|node•HTTP 模块•URL 模块•supervisor工具
终极目标:掌握和使用node 本博客目的:记录node学习的进度和心得(HTTP 模块、URL 模块、supervisor 工具) 内容:HTTP 模块、URL 模块、supervisor 工具。 HTTP 模块、URL 模块、supervisor 工具Node.js 中,将很多的功能,划分为了一个个module(模块)。Node.js 中的很多功能都是通过模块实现。 http模块​ 如果我们使用PHP 来编写后端的代码时,需要Apache 或者Nginx 的HTTP 服务器,来处理客户端的请求相应。 ​ 不过对Node.js 来说,概念完全不一样了。使用Node.js 时,我们不仅仅在实现一个应用,同时还实现了整个HTTP 服务器。 ​ http模块在node已经内置好了,可以直接require引用。 ​ var http = require("http"); 创建服务器 ​ 使用http.createServer() 方法创建服务器,并使用listen 方法绑定8888 端口(通常端口设置大于3000,避免端口冲突)。函数通过request, respons ...
NodeJS介绍&安装&开发工具配置
Created2020-05-08|node|node•介绍
终极目标:掌握和使用node 本博客目的:记录node学习的进度和心得(NodeJS介绍&安装&开发工具配置) 内容:NodeJS介绍&安装&开发工具配置。 NodeJS介绍&安装&开发工具配置NodeJS介绍​ Node.js 是一个Javascript 运行环境(runtime)。它让JavaScript 可以开发后端程序,它几乎能实现其他后端语言能实现的所有功能。​ Nodejs 是基于Google V8 引擎,V8 引擎是Google 发布的一款开源的JavaScript 引擎,原来主要用于Chrome 浏览器的JS 解释部分,但是Ryan Dahl 把这个V8引擎搬到了服务器上,用于做服务器的软件。 学习node的必要性1、Nodejs 用户量大:我们无法统计Nodejs 软件的下载量,但是我们可以通过Nodejs框架Express 的下载量来分析出Nodejs 的用户量非常惊人。 2、Nodejs 是程序员必备技能:对于前端开发者而言Nodejs 目前是必备技能。 3、Nodejs 最擅长高并发:Nodejs 最擅长的 ...
前端框架react自学之react状态(六)
Created2020-02-29|react状态|react•状态•setState•this绑定
终极目标:掌握和使用react 本博客目的:记录react学习的进度和心得(react状态) 内容:通过视频学习,掌握react基础语法。 前端框架react自学之react状态(六)react state相当于VUE的DATA,但是使用方式跟VUE不一致。 修改state时,使用setState方法去修改。直接修改state不会渲染 通过this.setState修改完数据后,并不会立即修改DOM里面的内容,react会在这个函数内容所有设置状态改变后,统一对比虚拟DOM对象,然后在统一修改,提升性能。 react组件的render方法一个组件类必须要实现一个 render 方法,这个 render 方法必须要返回一个 JSX 元素。必须要用一个外层的 JSX 元素把所有内容包裹起来,返回并列多个 JSX 元素是不合法的。 案例12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849import React from 'react';imp ...
1…456…10
avatar
伍新奎
前端开发工程师
Articles
96
Tags
150
Categories
68
Follow Me
Recent Post
nestjs学习-5种http数据传输方式2023-12-05
nestjs学习-快速掌握 Nest CLI2023-11-23
前端工程化- webpack | 项目打包webpack优化2023-11-15
单元测试-jest搭建和使用2023-11-01
nodejs-PM2搭建和使用2023-10-20
Categories
  • React2
  • VScode 配置1
  • antd1
  • backend1
  • chrome1
  • git1
  • hive1
  • mysql1
Tags
队列 路由模块封装 项目 jest 语法 运行配置 红黑树 vue CLI3 vue CLI2 二叉搜索树 静态文件托管 JavaScript Nest CLI AVL树 package.json 管道流 this绑定 POST GET Vuex 字典 angular 链表 http CommonJs Visual Studio Code antd 监控,nodejs chrome 组件化 web cnpm SnowPack WEB服务器 网站 前端工程化 pdf table EJS模板引擎 HTTP 模块
©2019 - 2023 By 伍新奎