Node模块---学习笔记(二)

node的模块分为三大类:全局模块、系统模块、自定义模块

全局模块

  • 定义:何时何地才能访问,不需要引用
  • 常用的全局模块:
    • process.env ---------- 全局环境
    • __dirname --------- 当前所在绝对路径
  • DEMO示例
// 1.js
console.log(process.env)
if(process.env.dev){
	console.log('我是开发环境')
}else{
	console.log('我是生产环境')
}

console.log(__dirname)

系统模块

  • 定义: 需要require(),但不需要单独下载

  • 常用的系统模块

    • path: --------- 用于处理文件路径和目录路径的模块
    • fs -------- 文件读写操作模块
    • http ---------- 服务器对象:http.createServer() 快速搭建服务器
  • DEMO示例

    1、path模块的示例

    // 2.js
    let path = require('path')
    
    //了解上传的文件
    console.log(path.dirname('/node/a/b/c'));    // 返回上一级目录
    console.log(path.basename('/node/a/b/c'));   // 返回路径的最后一级
    console.log(path.extname('/node/a/b/c/index.html'));  //返回指定路径文件的扩展名
    console.log(path.resolve(__dirname,'index.html'))   //返回绝对路径,即将__dirname所获取的路径与后者相拼
    

    2、http、fs模块的示例 http.js

    let http = require('http')
    let fs = require('fs')
    // http.createServer().listen(端口)
    // 创建了一个端口为88的服务器
    http.createServer((request,response)=>{
        console.log(request.url);   // 表示访问的地址
    	fs.readFile(`./${request.url}`,(err,data)=>{
    		if(err){
    			console.log(err)
    			response.writeHead(404)   // 返回的状态码
    			response.end('404 not found')   //返回的内容
    		}else{
    			response.writeHead(200)
    			response.end(data)
    		}
    	})
    }).listen(88)
    

    在窗口中运行该js文件即可启动服务,这里是node http.js,服务启动后,打开浏览器,输入localhost:88,即可看到页面
    在这里插入图片描述

自定义模块

  • 定义:自己封装的模块,封装时需要用exports导出,引入时需要用require引入
  • 注意:require引入时,
    如果指定了路径,就按路径去找,
    如果没有指定路径,就直接去node_modules里面找
  • DEMO示例
    第一步,自定义的导出模块 mod.js
    //exports.a = 1             //导出模块
    //exports.b = 2
    
    //相等于如下
    module.exports = {
    	a:1,
    	b:2
    }
    
    第二步,引入自定义的模块
    //引入自定义的模块,有路径,根据路径去找
    const mod1 = require('./mod.js')   
    //引入自定义的模块,无路径,则去node_modules中查找 
    //const mod2 = require('mod.js')   
    
    console.log(mod1)
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值