美文网首页Node.js
Node.js基础入门04

Node.js基础入门04

作者: 祈粼 | 来源:发表于2021-02-25 19:06 被阅读0次

node笔记 --祈粼

命名规则:文件或函数或变量命名只能以字母开头
模块:

一般都是一个JS文件一个模块,而多个JS文件之间是可以相互require的(也就是相互引用),他们共同实现了一个大的功能

在Node.js当中,一个JavaScript文件中定义的变量或函数,都只在这个当前的文件内有效,也可以理解为,每个JS文件都是一个闭包结构,所以当我们需要从此JS文件外部引用这些变量或函数的时候,必须使用exports对象进行对象的暴露,而调用者需用通过require()命名来引入这个JavaScript文件

A文件 --require--> B文件 ---require--> C文件

Node.js中exports与module.exports的区别

每一个node.js执行文件
都会自动创建一个module对象
同时module对象都会创建一个名为exports的属性
它的初始值都是{}
exports就是module.exports

一般require返回的是module.exports,在module.exports上可以导出函数、对象实例、基本类型的变量等,因此,一般就是用module.exports作为模块的导出

如果想用exports作为模块的返回,那么就为它设置一个属性,并且不要在module.exports上同时导出同名的属性或者函数实例等(会替代exports)

关于 require 导入路径问题

一般用require导入的文件路径都需要加./
如果不加则会去node_mudules文件里面查找 同级如果没有node_mudules文件会向上依次查找

//npm install silly-datetime
const sd = require("silly-datetime");//时间对象


/*
    format:两个参数
    第一个:时间对象,就是你需要格式化的字符对象
    第二个:传入你需要指定的时间格式

    year:年
    month:月
    day:天
    hour:小时
    Minute:分钟

    Y:年   M:月   D:日   H:小时  m:分钟(注意大小写)
*/
let now= sd.format(new Date(),"YYYYMMDDHHmm");

console.log("北京时间:"+ now);

nodeJS 表单提交 POST请求

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>表单提交</title>
    <link rel="stylesheet" href="css/master.css"/>
</head>
<body>
    <div class="wrapper">
        <div class="title">注册中心</div>
        <form class="form" action="http://localhost:3000/dopost" method="post">
            <ul>
                <li><input type="text" name="name" placeholder="请输入您的名字" class="txt"/></li>
                <li><input type="password" name="password" placeholder="请输入您的密码" class="txt"/></li>
                <li><input type="submit" placeholder="" class="btn"/></li>
            </ul>
            <div class="cl"></div>
        </form>
    </div>
</body>
</html>

JS:

const http = require("http");
const queryString = require("querystring"); // 模块提供用于解析和格式化 URL 查询字符串的实用工具

const server = http.createServer((req, res) => {
    console.log(req.method);//req.method:获取提交的方式:get/post
    if (req.url == "/dopost" && req.method.toLowerCase() == "post") {
        /*
            下面这个公式是post的请求接收公式
            这里只接收了一小段,防止一个过大的请求处理阻塞了这个进程
        */
        //传输中
        let allData = "";
        /*
            我们在本地电脑可能只会看到一次分段处理,但是在服务器端可能会有N个
        */
        req.addListener("data", chunk => {
            allData += chunk;
        });
        //传输完毕
        req.addListener("end", () => {
            let dataString = allData.toString();
            console.log("allData loading....");
            console.log(allData);
            //将dataString转换为一个对象
            let dataObj = queryString.parse(dataString);
            console.log("dataObj loading.....");
            console.log(typeof dataObj);
            console.log("名字:" + dataObj.name);
            console.log("密码:" + dataObj.password);
            res.end("success");
        });
    }
});

server.listen(3000, "127.0.0.1");

相关文章

网友评论

    本文标题:Node.js基础入门04

    本文链接:https://www.haomeiwen.com/subject/jwbufltx.html