初识Node.js与内置模块

什么是Node.js

Node.js是基于V8引擎的js运行环境

前端开发中JavaScript代码可以基于浏览器的内置引擎来运行。如果脱离浏览器的js运行环境,js代码将不能执行。

借助Node.js,开发者可以更方便地使用JavaScript开发后端代码。

Node.js可以做什么

1、基于Express框架(http://www.expressjs.com.cn/),快速构建web应用

2、基于Electron框架(https://electronjs.org/),可以构建跨平台桌面应用

3、基于restify框架(http://restify.com/),可以快速构建API接口项目

4、读写和操作数据库、创建实用的命令行工具辅助前端开发等

Node.js的内置模块

fs文件系统模块

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

1、读取指定文件中的内容

使用fs.readFile()方法,可以读取指定文件中的内容,语法格式如下:

fs.readFile(path[,options],callback)

  • 参数1:必选参数,字符串,表示文件的路径
  • 参数2:可选参数,表示以什么编码格式来读取文件
  • 参数3:必选参数,文件读取完成后,通过回调函数拿到读取的结果。

判断文件是否读取成功

// 1.导入fs模块,来操作文件
const fs = require('fs')
// 2.调用fs.readFile()方法读取文件
fs.readFile('./file/1.txt', 'utf8', function (err, dataStr) {
    // 打印失败的结果,如果读取成功,则err的值为null
    // 如果读取失败,则err的值为错误对象,dataStr的值为undefined
    if (err) {
        return console.log('读取文件失败' + err.message)
    }
    console.log('读取文件成功' + dataStr)

})
 

2、向指定的文件中写入内容

使用fs.writeFile()方法,可以向指定文件中写入内容,语法格式如下:

fs.writeFile(file, data[, options], callback)

  • 参数1:必选参数,字符串,表示文件的存放路径
  • 参数2:必选参数,表示要写入的内容
  • 参数3:可选参数,表示以什么编码格式来读取文件,默认值是utf8
  • 参数4:必选参数,文件写入完成后的回调函数。

const fs = require('fs')

fs.writeFile('f:/files/2.txt','abcd',function(err) {

    console.log(err);

})

 path路径模块

path模块是Node.js内置的处理路径需求的模块,使用path模块来处理路径,则需要使用以下的方式先导入它

const path=require('path')

 1、使用path.join()方法,可以把多个路径片段拼接为较为完整的路径字符串

path.join([...paths])

 示例:

const pathStr = path.join(_dirname, './files/1.txt')

2、使用path.basename()方法 ,可以获取路径中的最后一部分

 path.basename(path[,ext])

 示例:

const fpath = '/a/b/c/index.html'//文件存放路径

var fullName = path.basename(fpath)

console.log(fullName) // 输出 index.html

 3、使用path.extname()方法可以获取路径中的拓展名部分,语法格式如下

 path.extname(path)

示例:

const fpath = '/a/b/c/index.html' //路径字符串

const fext = path.extname(fpath)

console.log(fext) // 输出 .html

 http模块

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

const http=require('http')

 创建最基本的web服务器

1、导入http模块

const http=require('http')

 2、创建web服务器实例

const server=http.createServer()

 3、为服务器实例绑定request事件,监听客户端的请求

//使用服务器实例的.on()方法,为服务器绑定一个request事件
server.on('request',(req,res)=>{
//只要有客户端来请求我们自己的服务器,就会触发request事件,从而调用这个事件处理函数
console.log('someone visit our web server.')
})

4、启动服务器

//调用server.listen(端口号,cb回调)方法,即可启动web服务器
server.listen(80,()=>{
console.log('http server running at http://127.0.0.1')
})

 5、request请求对象

服务器收到客户端请求时,会调用server.on()为服务器绑定的request事件处理函数,在事件处理函数中访问与客户端相关的数据或属性,可以使用如下方式:

server.on('request',(req,res)=>{
//req是请求对象,它包含了与客户端相关的数据和属性,例如:
//req.url是客户端相关的数据和属性,例如:
//req.url是客户端请求的url地址
//req.method 是客户端的method请求类型
const str='Your request url is ${req.url},and request method is ${req.method}'
console.log(str)
})

6、response响应对象

 server.on('request',(req,res)=>{
//res是响应对象,它包含了与服务器相关的数据和属性,例如:
//要发送到客户端的字符串
const str='Your request url is ${req.url},and request method is ${req.method}'
//res.end()方法的调用:
//向客户端发送指定内容,并结束这次请求的处理过程
res.end(str)
})

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值