JavaScript第24天

1、Node.js官方模块:

        6、http模块

//引入了http(搭建服务器)、url(区分开路由和请求消息)、fs(读取文件响应给用户看)
var http=require("http");
var url=require("url");
var fs=require("fs");
//创建服务器应用
var app=http.createServer();
//为其绑定监听端口
app.listen(80);
//为其绑定请求事件:http:请求 - 响应模式,必须要有一个请求,才有一个响应
app.on("request",(req,res)=>{
    //req:request(请求)对象,他有一个属性叫做req.url,看了一获取到前端传到后端的路由和请求消息,但是路由和请求消息是融为一体的,不方便我们获取某个部分,所以我们引入了url,进行解析,分开两部分
    var objUrl=url.parse(req.url,true);
    //保存路由
    var router=objUrl.pathname;
    if(router=="/" || router=="/index.html"){//判断路由的不同,读取不同的页面给用户看
        //res:response(响应)对象,他有一个方法:res.end(响应的内容) - 可以响应给前端想要的东西
        fs.readFile("./public/html/index.html",(err,buf)=>{
            res.end(buf);//res.end只能用一次
        })
    }
})

         扩展:字符串有一个API:math

                var rs=str.match(reg);和indexOf几乎一致,但是支持正则,我们不关心为多少,只关心为不为null

        强调:一切的src和href都是一个请求都是一个路由,这个请求就需要后端来解析,根据不同的请求响应不同的内容

2、模块(每个.js文件)的分类

         1、官方模块:不需要下载,再安装Node.js环境的时候就已经自带了,但是有的模块需要引入:require("模块名");
         2、第三方模块
         3、自定义模块:自己书写的xx.js:require("./模块名");

        问题:为什么有的模块引入要./有的又不用加./

                自定义模块:分为2大类

                        1、文件模块:创建xx.js去公开需要公开的内容,主模块要引入,必须写为require("./模块名");

                         2、目录模块:3种用法
                                1、比如创建m1的文件夹,在其中创建index.js的文件,去公开需要公开的内容,主模块要引入,必须写为require("./m1");

                                2、比如创建m2的文件夹,在其中创建xx.js的文件,,去公开需要公开的内容,主模块要引入,必须写为require("./m2");
                                            必须再创建一个package.json的配置文件,写入:{"main":"xx.js"}

                                3、创建一个文件夹必须名为:node_modules,再在其中创建出m3文件夹,在其中创建index.js的文件,去公开需要公开的内容,主模块要引入,必须写为require("m3");

            其实真实开发中,我们程序员用的最多的是文件模块,目录模块的第三种方式其实根本不是给人用的(第三方模块下载后会自动创建此文件夹)

3、如何下载第三方模块

        npm工具:Node Package Manager:Node.js的模块/包管理器,专门用于管理第三方模块的,作用:下载、更新、删除、维护包之间的依赖关系
        打开网址:npm官网https://www.npmjs.com/
        搜索你需要用到的模块:尽量用带有完全符合标签的那个包,或者是 第一个包:
                1、打开cmd:检查npm是否安装成功:npm -v
                 2、在你的项目之中,再打开cmd
                3、下载:npm i 包名
                4、更新:npm up 包名
                5、删除:npm un 包名

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值