前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >nodejs杂项

nodejs杂项

作者头像
切图仔
发布2022-09-14 14:50:25
6250
发布2022-09-14 14:50:25
举报
文章被收录于专栏:生如夏花绚烂

node.js四个常用包

代码语言:javascript
复制
const http=require('http');//建立服务
const fs=require('fs');//文件相关操作
const querystring=require('querystring');//解析解析url参数
const url = require('url');//处理url

指定文件写入数据

指定文件写入数据如果没有那个文件则创建

fs.writeFile(path,data,calback(err))

path:路径

data:数据

callback:回调函数

读取指定文件

fs.readFile(path,callback(err,data))

创建服务

代码语言:javascript
复制
let server=http.createServer((req,res)=>{
  //req:接收请求
  //res:发送请求
}).listen(8080)

request相关方法

  • req.method:获取页面请求方式(post/get)
  • res.write(data):页面写入数据
  • res.end();数据写入完毕
  • res.url:返回用户请求的url

解析get&post

get 第一种方法

代码语言:javascript
复制
    let [url,query] = req.url.split('?');//将地址与参数分隔
    let get = querystring.parse(query);//解析get数据
    {name:test,pwd:123}

第二种方法

代码语言:javascript
复制
let result = url.parse(req.url,true);//第二个参数为true表示一并解析get数据
//将地址与get数据分开
let {path,data} = url.parse(req.url,true);

post

代码语言:javascript
复制
    //由于post数据较大时是分段发送的因此服务器要分段接收
    let arr = [];//定义一个数组接收post数据

    req.on('data',buffer=>{
        //如果有post数据过来将其添加到数组
        arr.push(buffer);
    });
    req.on('end',()=>{
        let buffer = Buffer.concat(arr);
        //当数据发送完毕时,使用buffer对象连接数据
        querystring.parse(buffer);
        //利用querystring解析post数据类似于name=er$pass=45
        //解析为 {name:er,pass:45}
    })

node模块

定义模块

1.定义模块 一个文件就是一个模块 通过module对象 实现批量导出

代码语言:javascript
复制
 module.exports={
   a:12,b:45
  }

通过exports对象导出一个

代码语言:javascript
复制
  exports.a = 12;
代码语言:javascript
复制
//导出函数
exports.funcname=function(){}

引入模块

代码语言:javascript
复制
 const mode = require('./mode.js')//必须加路径

如果不想加路径,直接把模块放在node_modules目录

代码语言:javascript
复制
 const mode = require('mode');
  console.log(mode.a)

常用系统模块

  • 1.assert:断言 assert(条件,‘条件不成立输出的信息’) 可用在大型模块/函数,每一阶段断言测试或函数参数校验 assert.deepEqual(变量,预期值,msg)比较 成员相当于== assert.deepStrictEqual(变量,预期值,msg) 深度比较相对于 ===
  • 2.path:路径 路径拼接,信息获取 path.dirname(url) 返回文件目录 path.extname(url) 返回文件扩展名 path.basename(url) 返回文件名.扩展名 path.resolve() 将路径解析单一路径 如
代码语言:javascript
复制
path.resolve('root/a/b','../c','build','..','scrt');
//返回 root/a/c/scrt

获取当前文件的绝对路径

代码语言:javascript
复制
path.resolve(__dirname,'build')
   //返回www/text/build
  • 3.url :网址 url.parse(str);解析网址相关信息. url.parse(str.true);将url参数解析为json格式
    • 4.querystring :请求数据 querystring.parse(url参数) 将url参数解析json …………stringify({a

    b2}) 将json转译为url参数形式

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020-05-15 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档