当前位置: 首页 > news >正文

node.js快速入门-day03

个人名片:
😊作者简介:一名大二在校生
🤡 个人主页:坠入暮云间x
🐼
座右铭:给自己一个梦想,给世界一个惊喜。
🎅**学习目标: 坚持每一次的学习打卡

文章目录

  • web服务器
    • 创建服务器的步骤?
  • 模块化
    • 什么是模块化?
    • 模块化优点?
    • 模块化分类
    • 如何加载模块化?
    • 什么是模块作用域?
    • module.exports对象
    • 模块化规范

web服务器

创建服务器的步骤?

  1. 导入http列表
  2. 创建web服务器实例
  3. 为服务器实例绑定request事件,监听客户端的请求
  4. 启动服务器
    具体代码示例如下:
//导入 http 模块
const http=require('http');
//调用http.createServer()方法,即可快速创建一个web服务器实例:
const server=http.createServer();
// 为服务器实例绑定 request 事件,即可监听客户端发送过来的网络请求:
server.on('request',function (req,res){console.log('Someone visit our web server')
})//调用服务器实例的 .listen() 方法,即可启动当前的 web 服务器实例:
server.listen(8080,function (){console.log('server sunning at http://127.0.0.1:8080')
})

模块化

什么是模块化?

模块化是指解决一个复杂问题时,自顶向下组成把系统划分成若干模块的过程。将一个大文件拆成独立并互相依赖的多个小模块

对于模块是可组合、分解和更换的单元

模块化优点?

1.提高了代码的复用性
2.提高了代码的可维护性
3.可以实现按需加载

模块化分类

1.内置模块(例如fs,http,path)
2.自定义模块(用户创建的每个js文件,都是自定义模块)
3.第三方模块

如何加载模块化?

//1.加载内置fs模块
const fs=require('fs');//加载用户的自定义模块
const custom=require('./index.js');//3.加载第三方模块
const moment=reuqire('moment')

什么是模块作用域?

在自定义模块中定义变量、方法等成员,只能在当前模块内被访问,这种模块级别的访问现在,叫做模块作用域

module.exports对象

作用:在定义模块中,可以使用module.exports对象,将模块内成员共享出去,供外界使用

使用require()方法导入自定义模块

//在自定义模块中 module.exports ={}
const age=20;
//先module.exports对象上挂载username属性
module.exports.username='zs';
//先module.exports对象上挂载sayHello方法
module.exports.sayHello=function(){console.log('Hello');
}
module.exports.age=age
const m=require('./09自定义模块')console.log(m);

在这里插入图片描述

模块化规范

CommonJS规定了模块特性和各模块之间的相互依赖
CommonJS规定:
1.每个模块内部,module变量代表当前模块
2.module变量是一个对象,它的exports属性是对外的接口
3.加在某个模块,其实是加载该模块的属性

相关文章:

  • 使用ansible批量修改操作系统管理员账号密码
  • 内网横向1
  • Pytorch:torch.cuda.empty_cache()
  • uniapp 开发微信小程序 出现启用组件按需注入问题如何解决
  • 基于Springboot的防疫物资管理信息系统(有报告)。Javaee项目,springboot项目。
  • 【论文阅读】Masked Autoencoders Are Scalable Vision Learners
  • Docker常用命令!!!
  • 九.pandas绘图基础
  • Python基础----数据容器(持续更新中)
  • QGIS编译(跨平台编译)056:PDAL编译(Windows、Linux、MacOS环境下编译)
  • Learn OpenGL 19 几何着色器
  • java 通过 IMetaStoreClient 取 hive 元数据信息
  • 基于ArcGIS等多技术融合提升环境、生态、水文、土地、农业、大气等领域科研技术应用
  • Spring底层核心原理解析
  • 【晴问算法】提高篇—动态规划专题—01背包问题
  • JavaScript-Array类型
  • JavaScript服务器推送技术之 WebSocket
  • nodejs调试方法
  • php中curl和soap方式请求服务超时问题
  • TypeScript实现数据结构(一)栈,队列,链表
  • 纯 javascript 半自动式下滑一定高度,导航栏固定
  • 基于阿里云移动推送的移动应用推送模式最佳实践
  • 简单数学运算程序(不定期更新)
  • 紧急通知:《观止-微软》请在经管柜购买!
  • 看完九篇字体系列的文章,你还觉得我是在说字体?
  • 免费小说阅读小程序
  • 如何进阶一名有竞争力的程序员?
  • 微服务入门【系列视频课程】
  • 微信公众号开发小记——5.python微信红包
  • 我的面试准备过程--容器(更新中)
  • ionic入门之数据绑定显示-1
  • 说说我为什么看好Spring Cloud Alibaba
  • # Maven错误Error executing Maven
  • # Pytorch 中可以直接调用的Loss Functions总结:
  • #我与Java虚拟机的故事#连载07:我放弃了对JVM的进一步学习
  • (1)SpringCloud 整合Python
  • (27)4.8 习题课
  • (C语言版)链表(三)——实现双向链表创建、删除、插入、释放内存等简单操作...
  • (function(){})()的分步解析
  • (vue)el-checkbox 实现展示区分 label 和 value(展示值与选中获取值需不同)
  • (zt)最盛行的警世狂言(爆笑)
  • (附源码)ssm经济信息门户网站 毕业设计 141634
  • (考研湖科大教书匠计算机网络)第一章概述-第五节1:计算机网络体系结构之分层思想和举例
  • (一)kafka实战——kafka源码编译启动
  • (转)Linux下编译安装log4cxx
  • .NET CORE 3.1 集成JWT鉴权和授权2
  • .NET Core 控制台程序读 appsettings.json 、注依赖、配日志、设 IOptions
  • .NET Framework 4.6.2改进了WPF和安全性
  • .NET MVC第三章、三种传值方式
  • .NET Remoting学习笔记(三)信道
  • .net对接阿里云CSB服务
  • .NET和.COM和.CN域名区别
  • .NET连接MongoDB数据库实例教程
  • .NET下的多线程编程—1-线程机制概述
  • .so文件(linux系统)