首页 > 其他分享 >蓝桥杯Web笔记

蓝桥杯Web笔记

时间:2023-08-20 14:33:10浏览次数:35  
标签:Node Web fs console log err 笔记 js 蓝桥

一、node.js

1、概念

(1)Node.js 是一个免费的、开源的、跨平台的 JavaScript 运行时环境,不是一门语言,也不是一个框架、库,而是一个JavaScript的运行环境。让JavaScript脱离了浏览器,能够允许开发人员在浏览器之外编写命令行工具和服务器端脚本

例如:我们常关注的浏览器的兼容性,PC端和手机端

(2)更多介绍:参考文档

Source - HTML(超文本标记语言) | MDN

(3)服务端语言:Java、PHP、Python、Node、.net等,Node使用JavaScript语言,不用再学习一门语言

2、认识前后端交互

(2)前端向后端获取数据:通过ajax、fetch等等方式去实现,图中虽然只是一条线前端指向后端,但是一般实际的场景下,大量用户访问时,是需要等待的

①这样一个过程既是:中间件,中间的程序根据实际情况,可放入一个或多个,例如:筛选一些恶意请求

②因此node常用于一些中间件的开发, 或者一些微小型的项目

(2)后端:在后端不再是通过协议去传输,因为ajax也是基于浏览器的,而node是通过操作系统去访问的,执行的是如何与其他环境调用,请求

3、注意

(1)浏览器JavaScript支持

ECMAScript:基础语法(高阶函数,迭代器,Promise)

DOM

BOM

(2)Node的JavaScript支持

ECMAScript基础语法

没有DOM和BOM【在小程序中也没有BOM和DOM】

会提供一些服务端的API【操作文件(IO流,获取读取文件)、http服务器、加密、RPC等】

RPC(远程调用):服务是可以去调用其他人的服务,由图2及其解释,就是为后端提供的库的调用

4、下载

(1)通过nvm下载步骤,参考文章如下

windows下使用nvm安装node.js_nvm安装nodejs目录是空的_羁城灬的博客-CSDN博客

nvm是一个nodejs版本控制下载器,可以通过nvm下载安装想要的nodejs版本,通过nvm指定使用已安装的某个版本,便于快速管理nodejs版本.避免项目对nodejs版本的需求,导致需要重复安装\卸载不同版本的nodejs到官网下载安装包 ......

(2)直接到node中文网下载,注意版本用14的

Node.js 中文网

Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境。Node.js 使用了一个事件驱动、非阻塞式 I/O 的模型,使其轻量又高效。Node.js 的包管理器 npm,是全球最大的开源库生态系统。

二、常见api

在工程下创建一个text.txt文件

api的引入
// 引入
const fs = require('fs')

1、读写文件内容

(1)读取文件readFile()

①将鼠标放在readFIle()上时会有该方法的提示,如下

②readFile()回调函数的使用

fs.readFile('./text.txt','utf-8',function(err,data){
    console.log('err:'+err);
    console.log('data:'+data);
})

③通过node执行方法

进入该工程下的终端,运行api.js该文件

node ./api.js

④当readFile()方法写错文件名,未找到文件时

fs.readFile('./tt.txt','utf-8',function(err,data){
    console.log('err:'+err);
    console.log('data:'+data);
})

(2)写入文件内容writeFile()

const data = '高启强'
fs.writeFile('./text.txt',data,'utf-8',function(err){
    console.log('err:'+err);
})

从结果上看,writeFile()是直接替换文件内容

2、更多常见的使用

(1)fs.appendFile【追加文件内容】:给文件添加内容用

(2)fs.stat:检测是文件还是目录

(3)fs.unlink:删除文件

(4)fs.mkdir:新建目录

(5)fs.readdir:读取文件目录下的所有内容

(6)fs.rmdir:删除文件目录

(7)fs.rename:文件重命名

3、API中文网文档

API 文档 | Node.js 中文网

三、http

http是一个协议,我们可以通过此搭建一个小型的服务器

1、使用

(1)创建项目文件http.js,引入api,创建服务器

const http = require('http')
const server = new http.Server()

(2)监听器

①指定服务运行在哪个端口

server.listen(3000,()=>{
    console.log("http服务器已启动,运行在http://127.0.0.1:3000");
})

②进入项目文件下的终端,运行http.js文件

③ctrl+C终止服务器

2、监听请求

(1)绑定操作,实时输出请求数据

第一个参数:方法

第二个参数:函数


server.on('request',(req,resp)=>{
    console.log(req);
    console.log(resp);
})

(2)实时输出请求地址

server.on('request',(req,resp)=>{
    console.log(req.url);
})

(3)做其他判断

server.on('request',(req,resp)=>{
    console.log(req.url);
    if(req.url === '/login'){
        console.log('登录');
    }else if(req.url === '/register'){
        console.log('注册');
    }
})

3、传回数据给浏览器

(1)使得请求有回应,浏览器才可正常加载,否则,浏览器会一直在等待响应,等到超时,就不会再请求了

(2)给头部设置内容的类型,防止出现乱码

resp.setHeader('Content-Type','text/html;charset=utf8')

标签:Node,Web,fs,console,log,err,笔记,js,蓝桥
From: https://blog.51cto.com/u_16037557/7161535

相关文章

  • JavaWeb程序设计基础
    基础认识1、web技术简介(1)HTML:HTML1.0->HTML5.0(H5),标签是语法(2)CSS:样式表,让页面美起来(3)JavaScript:脚本,让页面动起来(4)DOM:元素的树结2、动态网页技术(1HTML是编制静态网页的基本语言(2)动态网页:可以根据访问者的不同需要,对访问者输入的信息提供不同响应的网页不同的人、不同的时间、不同的......
  • FEMU模拟器学习笔记
     QEMU参数解析  QEMU的main函数进来后,首先要进行参数解析。一个启动模拟器的命令行如下:x86_64-softmmu/qemu-system-x86_64-name"FEMU-ZNSSD-VM"-enable-kvm-cpuhost-smp2-m4G-devicevirtio-scsi-pci,id=scsi0-devicescsi-hd,drive=hd0-drivefile=/home......
  • Threejs搭建web3D场景
    今天发现之前都没有写一个关于搭建web端3D场景的介绍,这节补上:​了解ThreeJs之前先了解WebGL:(如果你已经了解了threeJs可以跳过这一章)WebGL(全写WebGraphicsLibrary)是一种3D绘图协议,这种绘图技术标准允许把JavaScript和OpenGLES2.0结合在一起,通过增加OpenGLES2.0的一个JavaS......
  • iwebsec-文件包含 08 php://input伪协议利用
    01、题目分析程序开发人员通常会把可重复使用的函数写到单个文件中,在使用某些函数时,直接调用此文件,而无须再次编写,这种调用文件的过程一般被称为文件包含。在包含文件的过程中,如果文件能进行控制,则存储文件包含漏洞php://input用于对本地磁盘文件进行写入02、文件包含因为文......
  • iwebsec-文件包含 09 file://伪协议利用
    01、题目分析程序开发人员通常会把可重复使用的函数写到单个文件中,在使用某些函数时,直接调用此文件,而无须再次编写,这种调用文件的过程一般被称为文件包含。在包含文件的过程中,如果文件能进行控制,则存储文件包含漏洞file://读取本地文件,注意后面跟的是服务器绝对路径的文件02......
  • iwebsec-文件包含 10 data://伪协议利用
    01、题目分析程序开发人员通常会把可重复使用的函数写到单个文件中,在使用某些函数时,直接调用此文件,而无须再次编写,这种调用文件的过程一般被称为文件包含。在包含文件的过程中,如果文件能进行控制,则存储文件包含漏洞data://text/plain;base64,使用base64加密代码进行执行02、......
  • iwebsec-文件包含 07 php://input伪协议
    01、题目分析程序开发人员通常会把可重复使用的函数写到单个文件中,在使用某些函数时,直接调用此文件,而无须再次编写,这种调用文件的过程一般被称为文件包含。在包含文件的过程中,如果文件能进行控制,则存储文件包含漏洞php://input用于对本地磁盘文件进行写入02、文件包含因为文......
  • 【刷题笔记】26. Remove Duplicates from Sorted Array
    题目Givenasortedarraynums,removetheduplicatesin-placesuchthateachelementappearonlyonceandreturnthenewlength.Donotallocateextraspaceforanotherarray,youmustdothisbymodifyingtheinputarrayin-placewithO(1)extramemory.E......
  • iwebsec-文件包含 04 文件头过滤绕过
    01、题目分析文件上传的文件头过滤,题目中已经告诉我们了,我们已经知道了过滤类型,但是出于学习和判断的目的,那么我们还是得判断一下文件上传的过滤类型02、文件上传既然文件头过滤,直接在木马文件中加上文件头GIF98a,然后直接上传即可,如果有文件类型过滤,那么就像上一关一样更改下文......
  • iwebsec-文件包含 05 远程文件包含绕过
    01、题目分析程序开发人员通常会把可重复使用的函数写到单个文件中,在使用某些函数时,直接调用此文件,而无须再次编写,这种调用文件的过程一般被称为文件包含。在包含文件的过程中,如果文件能进行控制,则存储文件包含漏洞如果服务器开启了远程访问文件功能,那么就可以利用文件包含漏......