node内置模块http,fs,ejs

刚刚学习node,以下是自己的一点小心得,不足之处还望多多谅解。

http/https

一,服务器端(监听端口,获取及返回数据)

server.js

var http=require('http');
//创建服务
var server=http.createServer(function(req,res){
//request(要求,申请)请求的相关信息
//response(回答,反应)返回相关信息
    res.end('hello')
})
console.log('服务已开启8080');
//监听端口号
server.listen(8080)

node server.js ->在浏览器中输入localhost:8080 ->将会出现hello

二,客户端(向服务器端发送请求)
//客户端
var http = require('http');
http.get("url", (data) => {
    //参数直接在url?xxx=aa&..拼
    //data为请求的数据
    var str = '';
    //请求开始         chunk数据片段
    data.on('data', function (chunk) {
        str += chunk;
    })
    //请求结束
    data.on('end', function () {
        //str即为拿到的数据  可结合客户端将数据发给前端
        console.log(str);
    })
})

如果觉得手动拼参麻烦可以用querystring模块
下载 cnpm i querystring
引入 var qs=require('querystring');

fs文件模块(常用读/写)

server.js

var fs=require('fs');
//读取
//   url地址,这里读的为本地当前目录下的index.txt
// fs.readFile('./index.txt',(err,data)=>{
//      err错误先行      data读取的数据
//     console.log(data.toString());
// })
//写入
//fs.writeFile('./index.txt','冬天来了,春天还会远吗',(err,data)=>{
//           成功的回调函数
//})

ejs模板引擎(具体模板语法到ejs官网查看)

<% 脚本标签用于流程控制(内部可用循环等语法)
%> 一般结束标签
<%= 输出数据到模板(输出是转义html标签)
<%- 输出非转义的数据到模板
server.js

var ejs=require('ejs');
var http=require('http');
var obj={
    name:'misli',
    age:'23',
    weight:'140'
}
var server=http.createServer((req,res)=>{
//将obj的内用插到index.html模板中返回给8080端
    ejs.renderFile('./index.html',obj,(err,data)=>{
        res.end(data)
    })
})
console.log(8080);
server.listen(8080)

index.html(可以是其它后缀名只要有模板就行)

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
</head>
<body>
    <div>
        <div><%=name%></div>
        <div><%=age%></div>
        <div><%=weight%></div>
    </div>
</body>
</html>
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容