IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> JavaScript知识库 -> Node.js(2) -> 正文阅读

[JavaScript知识库]Node.js(2)

一、体验node

? ? ? ? 创建server.js文件 从中输出console.log()可以从git中查阅

二、启动服务器? ? ?

????????如何启动一个服务 ?本地启动一个服务

????????当前的电脑就是一个默认的本地服务器 :挂载很多的服务 ?后端代码的服务器

????????端口:计算机与外界通讯交流信息的接口

????????Node.js 非常遵循模块化编程

????????webpack.config.js 路径 path模块

????????启动服务器 node ? http模块

????????引入模块

const http = require('http') //引入模块
//requset 接受 前端发送过来的内容
//response 返回数据时用的参数
const server = http.createServer((req.res)=>{
    res.write('hello')     //给前端发送的值
    res.end()            //或可以直接写成res.end('hello')
})
server.listen(8080) //端口号

三、处理静态文件

? ? ? ? 需要引入相应的模块 fs 模块

? ? ? ? 写入静态文件 fs.writefile(路径,回调函数)

? ? ? ? 读取静态文件fs.readfile(路径,回调函数)

? ? ? ? 一般情况下回调函数写作(err,data){}err:表示是否存在错误的情况,data即为读取的内容

const fs = require("fs")    //引入fs 模块
//写入内容
//给前端写入一个hello world
//.writeFile(路径,写入内容,回调函数) 回调函数:写入后执行
//在服务器开发过程中 ,同级目录下 ./
fs.writeFile("./index.txt", "hello world", (err) => {  
    if (err) { //err 返回错误信息
        console.log("写入失败")
    }
        console.log("成功")
})


//读取内容
// .readFile(路径,回调函数)
// fs.readFile("./index.txt", (err, data) => {
//     //data 读取内容
//     if (err) {
//         console.log('读取文件出错')
//     }
//     //<Buffer 68 65 6c 6c 6f 20 77 6f 72 6c 64>  二进制码 
//     console.log(data.toString())   //转化为字符串
// })

四、如何在服务端打开静态文件

? ? ? ? 1.启动服务器

? ? ? ? 2.读取静态文件

const http = require ('http')
const fs = require ('fs')
//案例使用wwww文件夹下的index.html文件为静态文件
http.createServe((req.res)=>{
    fs.readfile('./www${req.url}',(err.data)=>{  //req.url表述前端传输过来的地址
        if(err){
            res.end('写入失败')  //err为true时则带表有错误则给前端传输写入错误
        }
        else{
            res.end(data)   //否则写入数据
        }
    })
}).listen(8088)  //简写启动服务器

五、获取get请求中的数据

? ? ? ? get属于明文转码:参数都是拼接在api地址后边的,

? ? ? ? 例如写一个/login接口其中传输过来的有user=wangyi? upas=123

? ? ? ? 则地址参数为 /login?username=wangyi&upass=123

? ? ? ? 获取api地址参数

? ? ? ? url='/login'

? ? ? ? par={username:wangyi,upass:123}

? ? ? ? 可以使用url模块来解析其中的url以及par

//案例  /login?username=wangyi&upass=123
const http=require('http')
const url = require('url')
http.createServer((req.res)=>{
    let {pathname,query}=url.pares(req.url)
    //其中pathname === /login
    //query === {username:wangyi,upass:123}  传输过来的为对象
})

六、获取post传过来的参数

? ? ? ? post传过来的req.url仅仅为端口地址

? ? ? ? 若接收post接口传输过来的数据,则需要模块 quertString

? ? ? ? 因为post数据是分段传输过来的,则需要增加监听事件

? ? ? ?.on为增加监听事件

const http=require('http')
const queryString = require('queryString')
http.createrServer((req.res)=>{
    let arr=[]   //创建空的数组
    req.on('data'data=>{
        arr.push(data)   //监听data 传输数据的情况,将传输过来的数据加到数组arr中
    })
    req.on('end',()=>{
        let buffer = Buffer.concat(arr) //将ARR数组的数据转化为buffer数据
        let result = queryString(buffer.tostring()) //解析将buffer数据转化为string的字】值
        //获取到的resule即为获取的值得对象
    })  
}).listen(8088)

  JavaScript知识库 最新文章
ES6的相关知识点
react 函数式组件 & react其他一些总结
Vue基础超详细
前端JS也可以连点成线(Vue中运用 AntVG6)
Vue事件处理的基本使用
Vue后台项目的记录 (一)
前后端分离vue跨域,devServer配置proxy代理
TypeScript
初识vuex
vue项目安装包指令收集
上一篇文章      下一篇文章      查看所有文章
加:2021-12-26 22:03:48  更:2021-12-26 22:04:34 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 9:29:30-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码