史上最短最敷衍的Nodejs教程(六)NPM模块

什么是NPM模块?

NPM是Node.js的包管理工具,在NPM的官网==www.npmjs.com ==有成千上万的包可供开发者下载和使用,NPM程序会在你安装Node.js的时候安装在你的计算机里面


什么是包?

包是在Node.js中你需要引入的模块文件


下载包

下载一个包非常容易,打开命令行界面然后输入npm命令进行包的安装
包的安装 npm install 包名

比如,下载用于搭建聊天室的websocket模块

npm i nodejs-websocket

使用包

下载完成后就可以通过require(“包名”)的方式进行包的引入并使用

以websocket包为例 >

var ws = require("nodejs-websocket")
 
// Scream server example: "hi" -> "HI!!!"
var server = ws.createServer(function (conn) {
    console.log("新的连接已经建立!")
    conn.on("text", function (str) {
        console.log("接受到的字符串: "+str)
        conn.sendText(str+"!")
    })
    conn.on("close", function (code, reason) {
        console.log("连接已经关闭!")
    })
}).listen(8080)


搭建聊天室实战

chat1.html

<!doctype html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <style>
        .chatInfo {
            text-align: center;
            margin-top: 200px;
        }
    </style>
</head>

<body>
    <div id="mess" class="chatInfo">正在连接...</div>
    <hr>
    <input id="mes" type="text" /> <input id="send" type="button" value="发送">
    <script>
        var username = prompt("请输入您的用户名:");
        var mess = document.getElementById("mess");
        if (window.WebSocket) {
            var ws = new WebSocket('ws://127.0.0.1:8001');

            ws.onopen = function (e) {
                mess.innerHTML = "连接成功"
                console.log("连接服务器成功");
                ws.send("chat1");
            }
            ws.onclose = function (e) {
                console.log("服务器关闭");
            }
            ws.onerror = function () {
                console.log("连接出错");
            }

            ws.onmessage = function (e) {
                var time = new Date();
                mess.innerHTML += time + "发来的消息:" + e.data + "<br>"
                document.querySelector("#send").onclick = function (e) {
                    var time = new Date();
                    ws.send(time + "/ <span style='color:red'>"+username+"</span>发来的信息:“" + document.querySelector("#mes").value + "”");
                    document.querySelector("#mes").value = "";
                }
            }
        }
    </script>
</body>

</html>

chat2.html

<!doctype html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <style>
        .chatInfo {
            text-align: center;
            margin-top: 200px;
        }
    </style>
</head>

<body>
    <div id="mess" class="chatInfo"></div>
    <hr>
    <input id="mes" type="text" /> <input id="send" type="button" value="发送">
    <script>
        var username = prompt("请输入您的用户名:");
        var mess = document.getElementById("mess");
        if (window.WebSocket) {
            var ws = new WebSocket('ws://127.0.0.1:8001');

            ws.onopen = function (e) {
                mess.innerHTML = "连接成功"
                console.log("连接服务器成功");
                ws.send("chat2");
            }
            ws.onclose = function (e) {
                console.log("服务器关闭");
            }
            ws.onerror = function () {
                console.log("连接出错");
            }

            ws.onmessage = function (e) {
                var time = new Date();
                mess.innerHTML += time + "发来的消息:" + e.data + "<br>"
                document.querySelector("#send").onclick = function (e) {
                    var time = new Date();
                    ws.send(time + "/ <span style='color:red'>"+username+"</span>发来的信息:“" + document.querySelector("#mes").value + "”");
                    document.querySelector("#mes").value = "";
                }
            }
        }
    </script>
</body>

</html>

chat.js

var ws = require("nodejs-websocket"); //引入websocket模块
console.log("开始建立连接...")
var chat1 = null,
    chat2 = null,
    chat1Ready = false,
    chat2Ready = false;
var server = ws.createServer(function (conn) {
    conn.on("text", function (str) {
        console.log("收到的信息为:" + str)
        if (str === "chat1") {
            chat1 = conn;
            chat1Ready = true;
            conn.sendText("success");
        }
        if (str === "chat2") {
            chat2 = conn;
            chat2Ready = true;
        }

        if (chat1Ready&&chat2Ready) {
            chat1.sendText(str);
            chat2.sendText(str);
        }

        conn.sendText(str)
    })
    conn.on("close", function (code, reason) {
        console.log("关闭连接")
    });
    conn.on("error", function (code, reason) {
        console.log("异常关闭")
    });
}).listen(8001)
console.log("WebSocket建立完毕");


在这里插入图片描述
发送情况截图效果如下
在这里插入图片描述

史上最短最敷衍的Nodejs免费视频教程

B站视频讲解演示地址 https://www.bilibili.com/video/BV1KT4y1g7FG/

猜你喜欢

转载自blog.csdn.net/qq_41136216/article/details/106413236
今日推荐