您的位置:首页 > 健康 > 养生 > 房屋设计说明_老板网人才招聘_东莞疫情最新消息今天又封了_广告宣传方式有哪些

房屋设计说明_老板网人才招聘_东莞疫情最新消息今天又封了_广告宣传方式有哪些

2025/1/9 22:26:03 来源:https://blog.csdn.net/qq_45751819/article/details/145009970  浏览:    关键词:房屋设计说明_老板网人才招聘_东莞疫情最新消息今天又封了_广告宣传方式有哪些
房屋设计说明_老板网人才招聘_东莞疫情最新消息今天又封了_广告宣传方式有哪些

最近一段时间没怎么更新,因为学了些新东西,今天开始更新以下关于学习后端的nodejs的一些学习记录。

之所以选择nodejs的原因是我是一名前端人员,学习node的成本会低很多。

思考1:为什么javascript可以在浏览器中被执行?

因为浏览器中内置了javascript的解析引擎

其中chrome浏览器是V8引擎

firefox浏览器是OdinMonkey引擎

IE浏览器是Chakra引擎

思考2:为什么javascript可以操作bom和dom

因为每个浏览器内置了bom、dom这样的api函数

1、什么是nodejs

nodejs是一个基于chromeV8引擎的javascript运行环境

2、nodejs环境配置

这个内容暂时不写(有一点乱),回头我整理以下关于前后端环境的配置。

3、fs文件系统模块

fs模块是nodejs官方提供的、用来操作文件的模块。它提供了一系列的方法和属性,用来满足用户对文件的操作需求:

fs.readFile()方法:用来读取指定文件中的内容

语法:

fs.readFile(path[,options],callback)
//参数1:必选参数,字符串,表示文件的路径
//参数2:可选参数,表示以什么编码格式来读取文件
//参数3:必选参数,文件读取完成后,通过回调函数拿到读取的结果

fs.writeFile()方法:用来向指定的文件中写入内容

语法

fs.writeFile(file,data[,options],callback)
//参数1:必选参数,需要指定一个文件路径的字符串,表示文件的存放路径
//参数2:必选参数,表示要写入的内容
//参数3:可选参数,表示以什么格式写入文件内容,默认值utf8
//参数4:必选参数,文件写入完成后的回调函数
const fs = require('fs')
fs.readFile('./01.txt', 'utf-8', (err, data) => {if (err) {console.log(err)} else {console.log(data) //123}
})
const fs = require('fs')
fs.writeFile('./02.txt', '123', (err) => {if (err) {console.log(err)} else {console.log('写入成功')}
})
关于fs模块动态路径拼接的问题

在使用fs模块操作文件时,如果提供的操作路径是以./或../开头的相对路径时,很容易出现路径动态拼接错误的问题。

原因:代码在运行的时候,会执行node命令时所处的目录,动态拼接出被操作文件的完整路径。

解决方案:在使用fs模块操作文件时,直接提供完整的路径,不要提供./或者../开头的相对路径,从而防止路径动态拼接的问题。

fs.readFile(_dirname + '/files/1.txt','utf8',function(err,dataStr){if(err)return console.log(err.message)console.log(dataStr) 
})

4、path路径模块

path模块也是nodejs官方提供的、用来处理路径的模块。他提供了一系列的方法和属性,用来满足用户对路径的处理需求。

path.join()方法,用来将多个路径片段拼接成一个完整的路径字符串

语法

path.join([...paths])
//...paths:字符串,路径片段的序列
//返回值:字符串

使用

const path = require('path')
console.log(path.join(__dirname, '03.js')) //F:\zst\study\expressjwt\03.js

path.basename()方法,用来从路径字符串中将文件名解析出来

语法

path.basename(path[,ext])
//path:路径字符串,必选参数
//ext:可选参数,表示文件扩展名
//返回:字符串,表示路径的最后一部分

使用

const path = require('path')
console.log(path.join(__dirname, '03.js')) //F:\zst\study\expressjwt\03.js
console.log(path.basename('03.js', '.js')) //03

path.extname(),获取路径中的扩展名部分

语法

path.extname(path)
//path:字符串,必选参数
//返回:字符串,返回得到扩展名字符串

5、http模块

思考:什么是客户端,什么是服务器

在网络节点中,负责消费资源的电脑,叫做客户端;负责对外提供网络资源的电脑叫做服务器

http模块是nodejs官方提供的,用来创建web服务器的模块,通过http模块提供的http.createServer()方法,就可以把一台普通的电脑变成一台web服务器,从而对外提供web资源服务。

创建web服务器的基本步骤
//导入http模块
const http = require('http')
//创建http示例
const server = http.createServer()
//监听客户端请求
server.on('request', (req, res) => {res.end('hello world')
})
//启动服务器,监听端口
server.listen(8080, () => {console.log('server is running at http://localhost:8080')
})
req请求对象

只要服务器接收到了客户端的请求,就会调用通过server.on()为服务器绑定的request事件处理函数。在req中包含客户端相关的数据和属性。

res响应对象

res中包含与服务器相关的数据和属性。

解决中文乱码问题

当调用res.end()方法,向客户端发送中文内容的时候,会出现中文乱码问题,可以手动设置内容的编码格式。

const http = require('http')
const server = http.createServer()
server.on('request', (req, res) => {const str = `您请求的地址是${req.url},请求的方法是${req.method}`res.setHeader('Content-Type', 'text/html;charset=utf-8')res.end(str)
})server.listen(8080, () => {console.log('server is running at http://localhost:8080')
})

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com