Node.js学习笔记

目录

一、node.js三大内置模块

1、file文件系统模块

2、path路径模块

3、http模块

二、express

1、概念

2.用法

     (1)创建基本的 Web 服务器

        (2). 监听 GET 请求

        (3).监听 POST 请求

        (4). 获取 URL 中携带的查询参数和动态参数

        (5) .express路由

        (6). 模块化路由:


一、node.js三大内置模块

1、file文件系统模块

        (1)  file.readFile(path[, option], callback) 用来读取指定文件中的内容

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

        (2) file.writeFile(path, data[, option], callback) 用来向指定的文件中写入内容

        ⚫ 参数1: 必选 参数,需要指定一个 文件路径的字符串 ,表示文件的存放路径。
        ⚫ 参数2: 必选 参数,表示要写入的内容。
        ⚫ 参数3:可选参数,表示以什么格式写入文件内容,默认值是 utf8。
        ⚫ 参数4: 必选 参数,文件写入完成后的回调函数。

2、path路径模块

        (1)  path.join([ ...paths ]) 方法,用来 将多个路径片段拼接成一个完整的路径字符串
        ⚫ ...paths <string> 路径片段的序列
        ⚫ 返回值: <string>
         (2).  path.basename(path[, ext]) 方法,用来从路径字符串中,将文件名解析出来
        ⚫ path <string> 必选参数,表示一个路径的字符串
        ⚫ ext <string> 可选参数,表示文件扩展名
        ⚫ 返回: <string> 表示路径中的最后一部分
        (3). path.extname(path) 方法,可以获取路径中的扩展名部分
        ⚫ path <string>必选参数,表示一个路径的字符串
        ⚫ 返回: <string> 返回得到的扩展名字符串

3、http模块

        http.createServer() 方法,即可快速创建一个 web 服务器实例

二、express

1、概念

        Express 是 基于 Node.js 平台 快速、开放、极简 Web 开发框架
        Express 的本质 :就是一个 npm 上的第三方包,提供了快速创建 Web 服务器的便捷方法。

2.用法

        (1)创建基本的 Web 服务器

 
// 导入express模块
const express = require('express')
// 调用express函数,创建web实例
const app = express()

// 调用app.listen(端口号, 启动成功的回调函数),启动服务器
app.listen(80, () => {
    console.log('server running at http://127.0.0.1')
})

        (2). 监听 GET 请求

         通过 app.get() 方法,可以监听客户端的 GET 请求,具体的语法格式如下:
// 4. 监听客户端的 GET 和 POST 请求,并向客户端响应具体的内容
app.get('/user', (req, res) => {
// 调用 express 提供的 res.send() 方法,向客户端响应一个 JSON 对象
  res.send({ name: 'zs', age: 20, gender: '男' })
})

        (3).监听 POST 请求

        通过 app.post() 方法,可以监听客户端的 POST 请求,具体的语法格式如下:

app.post('/user', (req, res) => {
  // 调用 express 提供的 res.send() 方法,向客户端响应一个 文本字符串
  res.send('请求成功')
})

        (4). 获取 URL 中携带的查询参数和动态参数

        通过 req.query 对象,可以访问到客户端通过查询字符串的形式,发送到服务器的参数:

app.get('/', (req, res) => {
  // 通过 req.query 可以获取到客户端发送过来的 查询参数
  // 注意:默认情况下,req.query 是一个空对象
  console.log(req.query)
  res.send(req.query)
})

        通过 req.params 对象,可以访问到 URL 中,通过 : 匹配到的动态参数

// 注意:这里的 :id 是一个动态的参数
app.get('/user/:ids/:username', (req, res) => {
  // req.params 是动态匹配到的 URL 参数,默认也是一个空对象
  console.log(req.params)
  res.send(req.params)
})

        (5) .express路由

         Express 中的路由分 3 部分组成,分别是请求的类型请求的 URL 地址处理函数,格式如下:

​​​​​​​        

app.METHOD(PATH, HANDLER)

        (6). 模块化路由:

        为了 方便对路由进行模块化的管理 ,Express 不建议 将路由直接挂载到 app 上,而是 推荐将路由抽离为单独的模块
        将路由抽离为单独模块的步骤如下:
        ① 创建路由模块对应的 .js 文件
        ② 调用 express.Router() 函数创建路由对象
        ③ 向路由对象上挂载具体的路由
        ④ 使用 module.exports 向外共享路由对象
        ⑤ 使用 app.use() 函数注册路由模块
        创建路由模块
const express = require('express')  // 1.导入express模块
const router = express.Router()     // 2.创建路由对象

router.get('/user/list', function(req, res) {  // 3. 挂载获取用户列表的路由
    res.send('Get user list')
}) 

router.post('/user/add', function(req, res) {  // 4. 挂载添加用户的路由
    router.send('Add new user')
})

module.exports = router

        注册路由模块

// 导入路由模块
const router = require('./router/user.js')

// 注册路由模块
app.use(router)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值