• NodeJs初探索


    练习1:模块之间的引用

    a.js

    // 引入b.js模块
    var b = require("./b");
    
    // 调用对象里的方法:   对象.属性名  对象.方法名()
    b.add();
    b.del();
    

    b.js

    function add() {
      console.log("this is add");
    }
    function del() {
      console.log("this is del");
    }
    // 导出成员
    exports.add = add;
    exports.del = del;
    

    练习2:官方模块的使用,官方网址http://nodejs.cn/api/,获取系统信息,创建写入读取文件,http模块

    /*
     * @Author: 一届书生
     * @Date: 2020-03-28 10:24:24
     * @LastEditTime: 2020-04-01 10:24:14
     */
    
    /**
     * 练习1:获取系统信息
     */
    console.log("
    练习1:获取系统信息");
    //  引入官方模块
    var os = require("os"); //主要用来获取操作系统信息
    var path = require("path"); //操作文件路径
    var url = require("url"); // 解析URL模块
    // 获取系统内存    字节 kb M G
    console.log("运存:", os.totalmem() / 1024 / 1024 / 1024);
    // 获取文件后缀
    console.log("后缀名:", path.extname('"E:/图片/必应壁纸/pirRAsmqR.jpg"'));
    // 获取表单get提交参数
    // console.log(url.parse("http://gaoying.cn?name=一届书生&age=23", true));
    var urlObj = url.parse("http://gaoying.cn?name=一届书生&age=23", true);
    console.log("url信息:", urlObj.query.name, urlObj.query.age);
    
    /**
     * 练习2:创建文件、写入文件
     */
    console.log("
    练习2:创建文件、写入文件");
    // 1.引入官方的fs模块
    var fs = require("fs");
    // 2.调用成员writerFile创建文件     参数:路径,写入的内容,回调函数
    fs.writeFile("./a.txt", "你好Nodejs", function(err) {
      // err有数据则写入失败
      // err没数据则写入成功
      if (err) {
        console.log(err);
        return;
      }
      console.log("创建成功");
    });
    
    /**
     * 练习3:读取文件
     */
    // 1.引入官方的fs模块
    var fs1 = require("fs");
    // 2.调用fs模块的成员 readFile 来读取a.txt  参数:路径,回调函数(两个参数)
    // fs1.readFile("./a.txt",function(err, data) {     //没有指定编码
    fs1.readFile("./a.txt", "utf8", function(err, data) {
      // err为真则读取失败,例如没有此文件
      if (err) {
        console.log(err);
        return;
      }
      console.log("
    练习3:读取文件");
      console.log(data);
    });
    
    /**
     * 练习4:http模块
     */
    console.log("
     练习4:http模块");
    // 1.引入http模块
    var http = require("http");
    // 2.创建web服务器对象
    var sever = http.createServer();
    // 3.监听请求->响应内容
    sever.on("request", function(request, response) {
      console.log("接收到了用户请求");
      //   response是一个对象,end方法用来响应用户数据  ctrl+c结束运行,需要重启服务
      response.end("hello,NodeJs");
    });
    // 4.启动服务
    sever.listen(8080, function() {
      console.log("服务器启动成功!通过:http://localhost:8080");
    });
    

    练习3:HTTP模块响应不同的数据

    /*
     * @Qusetion:
     * @Author: 一届书生
     * @Date: 2020-04-01 10:24:07
     * @LastEditTime: 2020-04-01 13:28:53
     */
    
    /**
     * 练习5:http模块-响应不同的数据
     */
    console.log("
     练习5:http模块");
    // 1.引入http模块
    var http = require("http");
    var fs = require("fs");
    var msgs = [
      { name: "张三", age: "1", content: "金" },
      { name: "李四", age: "2", content: "银" },
      { name: "王五", age: "3", content: "铜" }
    ];
    // 2.创建web服务器对象
    var sever = http.createServer();
    // 3.监听请求->响应内容
    sever.on("request", function(request, response) {
      // 需求:登录页响应this is login 首页响应login.html
      console.log(request.url); //获取用户请求路径
      if (request.url == "/") {
        // 首页
        response.end("this is index");
      } else if (request.url == "/login") {
        // 登录页 (fs模块)
        fs.readFile("./login.html", "utf8", function(err, data) {
          if (err) {
            console.log(err);
            return;
          } else {
            //   防止中文乱码,设置请求头
            response.setHeader("content-type", "text/html;charset=utf-8");
            response.end(data);
          }
        });
      } else if (request.url == "/live") {
        //   动态列表
        fs.readFile("./live.html", "utf8", function(err, data) {
          if (err) {
            console.log(err);
            return;
          } else {
            // 需求,里边的列表动态化
            // 1.将上边的变量数据 组装html
            var html = "";
            msgs.forEach(function(item) {
              //   console.log(item);
              html += `${item.name} ${item.age} ${item.content} <br /> `;
            });
            // console.log(html);
            // 2.将拼接好的数据 替换 原先静态页面的数据
            var html = data.replace("待替换数据", html);
            //   防止中文乱码,设置请求头
            response.setHeader("content-type", "text/html;charset=utf-8");
            // 3.响应替换后的数据
            response.end(html);
          }
        });
      } else {
        //   防止中文乱码,设置请求头
        response.setHeader("content-type", "text/html;charset=utf-8");
        response.end("<a href='https://www.cnblogs.com/52dxer/'>一届书生 </a>");
      }
    });
    // 4.启动服务
    sever.listen(8080, function() {
      console.log("服务器启动成功!通过:http://localhost:8080");
    });
    

      

  • 相关阅读:
    Adline网络的LMS算法与梯度下降
    Adaline网络识别印刷体数字0到9-java实现
    使用java API操作hdfs--拷贝部分文件到本地
    使用java API操作hdfs--拷贝部分文件到hdfs
    使用java API操作hdfs--读取hdfs文件并打印
    使用java API操作hdfs--通过filesystem API 来读取数据
    使用java API操作HDFS-相关环境的设置
    使用命令行的方式操作hdfs
    namenode和datanode 的namespaceID导致的问题
    The authenticity of host '172.16.33.53 (172.16.33.53)' can't be established的问题(日志六)
  • 原文地址:https://www.cnblogs.com/52dxer/p/12611989.html
Copyright © 2020-2023  润新知