Node.js教程笔记(二)模块化

news2024/12/23 13:31:59

学习目标

1、能够说出模块化的好处

2、能够知道CommonJS规定了哪些内容

3、能够说出NodeJS中模块的三大分类各是什么

4、能够使用npm管理包

5、能够了解什么是规范的包结构

6、能够了解模块的加载机制

目录

1、模块化的基本概念

2、NodeJS中模块的分类

3、npm与包

4、模块的加载机制


1、模块化的基本概念

1.1、什么是模块化

1、模块化的概念

在这里插入图片描述

2、编程领域中的模块化

在这里插入图片描述

1.2 模块化规范

在这里插入图片描述

2、NodeJS中的模块化

2.1 NodeJS中的模块分类在这里插入图片描述

2.2 加载模块

在这里插入图片描述

2.3NodeJS中的模块作用域

1. 什么是模块作用域

在这里插入图片描述

2、模块作用域的好处

在这里插入图片描述

2.4向外共享模块作用域中的成员

1、module对象

在这里插入图片描述

2. module.exports对象

在这里插入图片描述

3、共享成员时的注意点

在这里插入图片描述

4、exports对象

在这里插入图片描述

5、export和module.exports的使用误区

在这里插入图片描述

2.5、NodeJS中的模块化规范

在这里插入图片描述

3、npm与包

3.1 包

1、什么是包

在这里插入图片描述

2、包的来源

在这里插入图片描述

3、为什么需要包

在这里插入图片描述

4、从哪里下载包

在这里插入图片描述

5、如何下载包

在这里插入图片描述

3.2 npm初体验

1、格式化时间的传统做法

在这里插入图片描述

2、格式化时间的高级做法

在这里插入图片描述

3、在项目中安装包的命令

在这里插入图片描述

4、初次装包后多了哪些文件

在这里插入图片描述

5、安装指定版本的包

在这里插入图片描述

6、包的语义化版本规范

在这里插入图片描述

3.3、包管理配置文件

在这里插入图片描述

1、多人协作的问题

在这里插入图片描述

2、如何记录项目中安装了哪些包

在这里插入图片描述

3、快速创建package.json

在这里插入图片描述

4、dependencies节点

在这里插入图片描述

5、一次性安装所有的包

在这里插入图片描述
在这里插入图片描述

6、卸载包

在这里插入图片描述

7、devDependencies节点

在这里插入图片描述

3.4、解决下包速度慢的问题

1、为什么下包速度慢

在这里插入图片描述

2、淘宝NPM镜像服务器

在这里插入图片描述

3、切换npm的下包镜像源

在这里插入图片描述

4、nrm工具( 切换包下载地址 )

在这里插入图片描述

3.5 包的分类

分为项目包和全局包

1、项目包

在这里插入图片描述

2、全局包

在这里插入图片描述

5、i5ting_toc ( md转html工具 )

在这里插入图片描述

6、规范的包结构

在这里插入图片描述

3.7、开发属于自己的包

1、需要实现的功能

在这里插入图片描述

2、初始化包的基本结构

在这里插入图片描述

3、初始化package.json

在这里插入图片描述

4、index.js中定义格式化时间的方法

在这里插入图片描述

5、在index.js中定义转义HTML的方法

在这里插入图片描述

6、在index.js中定义还原html的方法

在这里插入图片描述

7、将不同的功能进行模块化拆分

在这里插入图片描述
在这里插入图片描述

8、编写包的说明文档

在这里插入图片描述

3.8 发布包

1、注册npm账号

在这里插入图片描述

2、登录npm登录

在这里插入图片描述

3、把包发布到npm上

在这里插入图片描述

4、删除已发布的包

在这里插入图片描述

4、模块的加载机制

4.1 优先从缓存中加载

在这里插入图片描述

4.2 内置模块的加载机制

在这里插入图片描述

4.3 自定义模块的加载机制

在这里插入图片描述

4.4、第三发模块的加载机制

在这里插入图片描述

4.5、目录作为模块

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/154985.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Django项目使用wangeditor方法

一、环境: python: 3.8 Django :3.2.16 wangeditor: v4 (官方文档地址:wangEditor) JS文件下载:https://download.csdn.net/download/weixin_47401101/87379142 编译器&#xff1…

日志分析工具--花两天时间为自己开发个小工具值得吗?

这两天忙里偷闲整理开发了个小的日志分析工具,没错,是给自己使用的,工欲善其事必先利其器。 先说一下痛点, 1、经常会遇到需要在外网服务器上调试的情况,此时只能通过日志来调试信息。 2、当使用记事本打开日志文件后&…

windows驱动开发-WDF编程

文章目录前言WDF编程前的准备工作WDF编程创建驱动对象创建设备对象设备对象的回调函数链表操作驱动的测试代码前言 注:本文的完整代码见仓库 18-WDF-reflect 代码参考自:junjiexing/libredirect 我不是从事驱动开发的专业人员,打酱油需要用…

区块链Fabric-从入门到实战(二) Fabric环境搭建

Fabric ubuntu16虚拟机环境搭建Ubuntu16镜像ubuntu-16.04.3-server-amd64.iso (如有需要,私信我)修改软件源cd /etc/apt/sudo cp sources.list sources.list.baksudo gedit sources.listdeb-src http://mirror.neu.edu.cn/ubuntu/ xenial mai…

回望在CSDN的2022和展望全新的2023

前言时光如白驹过隙,这条消息提醒着我加入CSDN有一些日子了。4286天,只是一个普通的数字,却记录着与CSDN的每一天。过去太长,回望过去的2022,有很多的收获和成长。在C站结实了一些朋友,分享了自己在工作中的…

校园跑腿、校园脱单、代理、帮忙拿快递的微信小程序 基于SpringBoot、Mybatis-plus、mysql实现

一、文件夹说明 代码下载 地址:校园跑腿、校园脱单、代理、帮忙拿快递的微信小程序 server 后端项目 project: 项目 CBD: 校园跑腿服务(校园CBD中心) server-app: 小程序apiserver-pc: 小程序后台管理service-cgs-base-service:…

RK3399平台开发系列讲解(CPU篇)CPUFreq 中央处理器频率调节技术

🚀返回专栏总目录 文章目录 一、CPUFreq组成二、设备树配置沉淀、分享、成长,让自己和他人都能有所收获!😄 📢中央处理器频率调节(Central Processing Unit frequency,CPUFreq)技术可以降低ARM芯片的功耗,例如在系统对任务压力较小时,通过调整处理器工作频率与输入…

Javascript判断点是否在多边型内

射线法Ray-casting Algorithm算法检查点point是否在多边形里面。用法:insidePolygon([[x1,y1],[x2,y2],[x3,y3]...], [x , y])参数说明:polygon多边形坐标集合,格式为[[x1,y1],[x2,y2],[x3,y3]...]。point 测试点坐标, 格式为[x , y]。返回tr…

技术分享| 视频监控融合方案

视频监控系统在各行业应用广泛,从早期的只是简单的实现通过视频记录监控区域的情况,到现在的监控侦测、智能报警、融合通信等功能,视频监控的作用已经不是简单的记录,分布在各地的视频监控摄像头可以通过复杂的软件算法实现更多智…

数据分析的尽头不是可视化,而是行动!行动!行动!

Kyligence Zen 联动飞书,支持一键推送指标,在飞书就能追踪关键指标的最新动态;指标对齐目标,目标拆解为飞书任务,实现从指标洞察到行动的丝滑闭环! 指标是衡量目标的量化参数,也是企业将战略目标…

PC端网页特效:轮播图

轮播图 功能需求: 鼠标经过轮播图模块,左右按钮显示,离开隐藏左右按钮。点击右侧按钮一次,图片往左播放一张, 左侧按钮同理。图片播放的同时,下面小圆圈模块跟随一起变化。点击小圆圈,可以播放…

2023年系统集成项目管理工程师报考条件及时间安排

一、报考条件 二、考试时间安排 集成考试一年会考2次,上半年一次、下半年一次 考试内容: 三、考试知识点分布: 给出一点点中项备考攻略 中级我敢说是好考的,题目也不难,主要弄清楚47个过程的输入输出,还有…

Github每日精选(第87期):轻量级图表lightweight-charts

lightweight-charts TradingView 轻量级图表是最小和最快的金融 HTML5 图表之一。 如果您想在网页上将财务数据显示为交互式图表而不影响网页加载速度和性能,轻量级图表库是您的最佳选择。 如果您想用交互式图表替换静态图像图表,它是您的最佳选择。该…

2000亿补贴申请倒计时!维视智造院校实验室建设攻略来了(六)!

#千亿政策贴息助力院校设备升级#近期,关于高校教育信息化的利好政策密集出台。9月7日,国务院常务会议提出对高校、职业院校和实训基地等10大领域设备购置和更新改造新增贷款,实施阶段性鼓励政策,中央财政贴息2.5个百分点&#xff…

电脑重装系统后文件还能恢复吗?恢复文件的详细图文教程

电脑重装系统,简单来说就是重新安装电脑的操作系统。一般选择重新安装电脑的系统,无非是电脑蓝屏、系统运行速度慢、崩溃死机等问题。 很多人会有疑惑,电脑重装系统后文件还能恢复吗?重装系统会造成数据全部被清空的情况&#xf…

js性能优化小技巧(已更新)

1、if多条件判断如果if里面包含多个判断条件,可以把判断条件存到一个数组,然后在去这个数组中检索”输入的值“是否满足条件;function testIf(x) {// 冗余if (x a || x b || x c || x d) {console.log(x)}// 简洁if ([a, b, c, d].includ…

前端vue3+typescript搭建vite项目(初识vite+项目配置完善+屏幕适配)

一、文章引导 #mermaid-svg-zCCPryl8cvuE0QpI {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-zCCPryl8cvuE0QpI .error-icon{fill:#552222;}#mermaid-svg-zCCPryl8cvuE0QpI .error-text{fill:#552222;stroke:#55222…

MySQL (五)------多表查询练习

我们在开发中,根据不同的业务需求往往需要通过2张及以上的表中去查询需要的数据。所以我们有必要学习2张及以上的表的查询。其实不管是几张表的查询,都是有规律可循的。 1.1 准备数据 -- 部门表 CREATE TABLE dept (id INT PRIMARY KEY PRIMARY KEY, --…

Databend 开源周报 第 75 期

Databend 是一款强大的云数仓。专为弹性和高效设计。自由且开源。即刻体验云服务:https://app.databend.com 。 What’s New 探索 Databend 本周新进展,遇到更贴近你心意的 Databend 。 Features & Improvements ✨ Format 实现 JSON 输出格式 …

C++模板进阶(非类型模板参数 + 模板特化)

我们另一篇模板初阶介绍链接:http://t.csdn.cn/Ox8Dm 目录 一、非类型模板参数 1.1 非类型模板参数概念 1.2 模板类型的静态数组 二、模板特化 2.1 函数模板特化 2.2 类模板特化 2.2.1 类模板全特化 2.2.2 类模板半特化(偏特化) 2.2.…