【Node.js】模块化:

2023-09-14 19:07:34


1、模块化的基本概念

在这里插入图片描述

2、Node.js 中模块化
【1】Node.js 中模块的分类

在这里插入图片描述

【2】加载模块

在这里插入图片描述

【3】模块作用域

【3-1】模块作用域
在这里插入图片描述
【3-2】模块作用域好处
在这里插入图片描述

【4】向外共享模块作用域中的成员

【4-1】 module 对象
在这里插入图片描述
【4-2】 module.exports 对象

module.exports默认导出为{}

在这里插入图片描述
【4-3】 共享成员时的注意点
在这里插入图片描述
【4-4】exports 对象
在这里插入图片描述
【4-5】exports 和 module.exports 的使用误区
在这里插入图片描述

【5】模块化规范

在这里插入图片描述

3、npm与包(包/依赖/插件)
【1】包的基本知识:

【npm官网】https://www.npmjs.com/
【npm下载包官网】 https://registry.npmjs.org/
【规范包结构】https://yarnpkg.com/zh-Hans/docs/package-json

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

【2】开发属于自己的包

【2-1】需要实现的功能
在这里插入图片描述
【2-2】初始化包的基本结构
在这里插入图片描述
【2-3】初始化 package.json

关于更多 license 许可协议相关的内容,可参考 https://www.jianshu.com/p/86251523e898
【注】需要去npm官网搜索查看是否存在该名字的包
在这里插入图片描述

【2-4】在 index.js中定义包的相关功能(如:格式化时间的方法)
在这里插入图片描述
在这里插入图片描述
【2-5】 将不同的功能进行模块化拆分
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
【2-6】 编写包的说明文档
在这里插入图片描述
在这里插入图片描述

【3】发布包

【3-1】注册 npm 账号https://www.npmjs.com/(建议用谷歌浏览器,Edge校验时图片显示不全)
在这里插入图片描述
【3-2】登录 npm 账号
在这里插入图片描述

【注】npm需要使用官方镜像源发布,不要使用淘宝镜像

//查看镜像源使用状态:
npm get registry
//全局切换镜像源:
npm config set registry http://registry.npm.taobao.org
//全局切换官方镜像源
npm config set registry https://registry.npmjs.org/

在这里插入图片描述

npm i nrm -g
#切换官方镜像源
nrm use npm

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

【3-3】 把包发布到 npm 上(包名没有被占用)

npm login
npm publish
npm unpublish 包名 --force

在这里插入图片描述
【3-4】删除已发布的包
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

【Dev-sidecar】Github 加速、Stack Overflow 加速、NPM 加速
官方网址:https://github.com/docmirror/dev-sidecar/releases/tag/v1.7.3
备份地址:https://lhnq31mi09.feishu.cn/file/TtW6byRKmoVLqkx1vSycSQjZnzh

4、模块的加载机制
【1】优先从缓存中加载

在这里插入图片描述

【2】内置模块的加载机制

在这里插入图片描述

【3】自定义模块的加载机制

在这里插入图片描述

【4】第三方模块的加载机制

在这里插入图片描述

【5】目录作为模块

在这里插入图片描述

更多推荐

折线图geom_line()参数选项

往期折线图教程图形复现|使用R语言绘制折线图折线图指定位置标记折线图形状更改|绘制动态折线图跟着NC学作图|使用python绘制折线图前言我们折线的专栏推出一段时间,但是由于个人的原因,一直未进行更新。那么今天,我们也参考《R语言实战》中折线图部分的讲解,分享给大家。在此书中,关于折线图的绘制教程相对讲解较少,我们要很

BI系统上的报表怎么导出来?附方法步骤

在BI系统上做好的数据可视化分析报表,怎么导出来给别人看?方法有二,分别是1使用报表分享功能,2使用报表导出功能。下面就以奥威BI系统为例,简明扼要地介绍这两个功能。1、报表分享功能作用:让其他同事灵活地在任意时间、终端上打开报表,获取数据分析信息,辅助数据分析决策。做法:返回首页,点击报表右上角【…】,点击【分享】。

浅谈Vue3——父子组件传值

引言Vue.js是一款流行的JavaScript框架,用于构建用户界面。它提供了一种简洁、灵活的方式来管理和渲染数据。在Vue3中,父子组件之间的数据传递是一个常见的需求。本文将介绍如何在Vue3中传递对象,并且在子组件中访问和修改父组件对象中的属性值。传递对象到子组件在Vue3中,可以通过props属性将数据从父组件

Dubbo 3.x源码(11)—Dubbo服务的发布与引用的入口

基于Dubbo3.1,详细介绍了Dubbo服务的发布与引用的入口的源码。此前我们学习了Dubbo配置的加载与覆盖的一系列源码:Dubbo3.x源码(7)—Dubbo配置的加载入口源码Dubbo3.x源码(8)—Dubbo配置中心的加载与优先级源码Dubbo3.x源码(9)—Dubbo启动元数据中心源码Dubbo3.x源

全网最全的接口自动化测试教程

【软件测试行业现状】2023年了你还敢学软件测试?未来已寄..测试人该何去何从?【自动化测试、测试开发、性能测试】为什么要做接口自动化相对于UI自动化而言,接口自动化具有更大的价值。为了优化转化路径或者提升用户体验,APP/web界面的按钮控件和布局几乎每个版本都会发生一次变化,导致自动化的代码频繁变更,没有起到减少工

【谢希尔 计算机网络】第3章 数据链路层

数据链路层数据链路层的地位网络中的主机、路由器等都必须实现数据链路层局域网中的主机、交换机等都必须实现数据链路层不同链路层可能采用不同的数据链路层协议数据链路层信道类型点对点信道使用一对一的点对点通信方式广播通信必须使用专用的共享系电脑协议来协调这些主机的数据发送使用点对点信道的数据链路层数据链路和帧链路(link):

BEV基础

BEV-LaneDet仿射变换与投影变换逆透视变换详解及代码实现(一)线性变换加平移变换等于仿射变换,仿射变换属于透视变换的子集。透视投影等价于中心投影,透视变换等价于中心投影变换。计算机视觉中,平面的单应性被定义为从一个平面到另一个平面的投影映射。在没有相机标定参数的情况下,可以利用物理平面和像平面中的四个对应点计算

人工智能术语翻译(三)

文章目录摘要IJKL摘要人工智能术语翻译第三部分,包括I、J、K、L开头的词汇!I英文术语中文翻译常用缩写备注I.I.D.Assumption独立同分布假设IdenticallyDistributed同分布的Identifiable可辨认的IdentityFunction恒等函数IdentityMapping恒等映射I

DragGAN使用记录

效果图调整人物动作调整裙子长度调整动物的动作DragGAN介绍DragGAN是一种基于人工智能的图像编辑工具,它可以根据用户的输入生成逼真的图像。与传统的图像编辑工具只能扭曲或裁剪现有的像素不同,DragGAN可以创建与用户意图匹配的新内容。DragGAN的原理是利用生成对抗网络(GAN)来学习和模拟真实数据的分布,然

【lesson8】冯诺依曼体系的介绍

文章目录冯诺依曼体系是什么?为什么要有存储器?怎么实现数据传输的?冯诺依曼体系是什么?冯诺依曼体系是一种计算机体系结构,是现代计算机的基础被广泛应用。如图所示:输入设备:键盘,摄像头,话筒,磁盘,网卡等等输出设备:显示器,音响,磁盘,网卡等等存储器:内存CPU(中央处理器):运算器+控制器运算器:主要进行算术运算和逻辑

浅谈基于LoRa技术下智能建筑能耗管理系统的分析与设计

安科瑞华楠摘要:城市建设步伐加快背景下,对城市建筑能耗管理系统的应用提出更高要求。从当前各类公共建筑物运营情况看,能源消耗问题仍较为突出,传统依托于计算机、测控单元与通讯设备单位工具的系统管理模式,并不能达到建筑能耗管理真正目的,在此背景下考虑引入LoRa技术,提高建筑能耗管理系统整体性能,实现控制能源消耗目标。本次研

热文推荐