默认导出(default)和命名导出
1.默认导出
优点:
- 简洁的导入语法: 导入时不需要使用花括号,可以直接重命名。
- 单一职责: 模块导出一个主要功能或对象时,默认导出更符合逻辑。
适用场景:
- 模块只有一个导出: 如一个组件、一个类或一个函数。
- 使用频繁的库: 比如 React 组件和 Vue 组件通常使用默认导出。
示例:
// utils.js
export default function calculateSum(a, b) {return a + b;
}// usage.js
import calculateSum from './utils';
console.log(calculateSum(2, 3)); // 输出 5
2.命名导出
优点:
- 明确的命名: 在导入时明确知道导入的是什么。
- 多个导出: 允许从同一个模块中导出多个函数、对象或变量。
- 避免命名冲突: 在导入时可以使用
as进行重命名,避免冲突。
适用场景:
- 模块有多个导出: 比如一个工具函数库。
- 公共常量或类型: 例如导出多个相关的常量或类型定义。
示例:
// utils.js
export function calculateSum(a, b) {return a + b;
}export function calculateDifference(a, b) {return a - b;
}// usage.js
import { calculateSum, calculateDifference } from './utils';
console.log(calculateSum(2, 3)); // 输出 5
console.log(calculateDifference(5, 2)); // 输出 3
3.综合使用
在实际项目中,可以结合使用默认导出和命名导出,以便利用两者的优势。例如,一个模块可以有一个默认导出和多个命名导出:
示例:
// mathUtils.js
export default function calculateSum(a, b) {return a + b;
}export function calculateDifference(a, b) {return a - b;
}export const PI = 3.14;
使用:
// usage.js
import calculateSum, { calculateDifference, PI } from './mathUtils';
console.log(calculateSum(2, 3)); // 输出 5
console.log(calculateDifference(5, 2)); // 输出 3
console.log(PI); // 输出 3.14
总结
- 默认导出: 适用于模块只有一个主要功能或对象时,导入语法简洁。
- 命名导出: 适用于模块有多个导出时,提供明确的导入名称和灵活性。
- 默认导出只能有一个
相关文章:
默认导出(default)和命名导出
1.默认导出 优点: 简洁的导入语法: 导入时不需要使用花括号,可以直接重命名。单一职责: 模块导出一个主要功能或对象时,默认导出更符合逻辑。 适用场景: 模块只有一个导出: 如一个组件、一个…...
开发个人Go-ChatGPT--1 项目介绍
开发个人Go-ChatGPT--1 项目介绍 开发个人Go-ChatGPT--1 项目介绍知识点大纲文章目录项目地址 开发个人Go-ChatGPT–1 项目介绍 本文将以一个使用Ollama部署的ChatGPT为背景,主要还是介绍和学习使用 go-zero 框架,开发个人Go-ChatGPT的服务器后端&#…...
皮卡超级壁纸 | 幸运壁纸幸运壁纸app是一款涵盖了热门影视剧、动漫、风景等等资源的装饰工具,
软件下载链接:壁纸下载方式在链接中文章底部 皮卡超级壁纸 皮卡超级壁纸是一款专为手机用户设计的壁纸应用,它提供了丰富多样的高清壁纸资源,让用户的手机界面焕然一新。这款应用以其海量的壁纸库和用户友好的操作界面,在市场上…...
普通集群与镜像集群配置
目录 一. 环境准备 二. 开始配置集群 三. RabbitMQ镜像集群配置 四. 安装并配置负载均衡器HA 一. 环境准备 关闭防火墙和selinux,进行时间同步 主机名系统IP服务rabbitmq-1 Rocky_linux9.4 192.168.226.22RabbitMQ,MySQLrabbitmq-2Rocky_linux9.41…...
2024科技文化节程序设计竞赛
补题链接 https://www.luogu.com.cn/contest/178895#problems A. 签到题 忽略掉大小为1的环,答案是剩下环的大小和减环的数量 #include<bits/stdc.h> #include<iostream> #include<cstdio> #include<vector> #include<map> #incl…...
玩转Easysearch语法
Elasticsearch 是一个基于Apache Lucene的开源分布式搜索和分析引擎,广泛应用于全文搜索、结构化搜索、分析等多种场景。 Easysearch 作为Elasticsearch 的国产化替代方案,不仅保持了与原生Elasticsearch 的高度兼容性,还在功能、性能、稳定性…...
【密码学】RSA公钥加密算法
文章目录 RSA定义RSA加密与解密加密解密 生成密钥对一个例子密钥对生成加密解密 对RSA的攻击通过密文来求得明文通过暴力破解来找出D通过E和N求出D对N进行质因数分解通过推测p和q进行攻击 中间人攻击 一些思考公钥密码比对称密码的机密性更高?对称密码会消失&#x…...
【ARMv8/v9 GIC 系列 5.1 -- GIC GICD_CTRL Enable 1 of N Wakeup Function】
请阅读【ARM GICv3/v4 实战学习 】 文章目录 GIC Enable 1 of N Wakeup Function基本原理工作机制配置方式应用场景小结GIC Enable 1 of N Wakeup Function 在ARM GICv3(Generic Interrupt Controller第三代)规范中,引入了一个名为"Enable 1 of N Wakeup"的功能。…...
C++怎么解决不支持字符串枚举?
首先,有两种方法:使用命名空间和字符串常量与使用 enum class 和辅助函数。 表格直观展示 特性使用命名空间和字符串常量使用 enum class 和辅助函数类型安全性低 - 编译器无法检查字符串有效性,运行时发现错误高 - 编译期类型检查…...
中英双语介绍四大会计师事务所(Big Four accounting firms)
中文版 “四大会计师事务所”(Big Four accounting firms)是全球最具影响力和规模最大的四家专业服务公司,它们在审计、税务、咨询和财务咨询等领域占据着主导地位。这四家公司分别是普华永道(PwC)、德勤(…...
ubuntu 查看联网配置
在Ubuntu中,你可以使用多种命令来查看联网配置。以下是一些常用的方法和命令: 查看网络接口配置: 使用 ip 命令可以查看网络接口的配置信息,包括IP地址、子网掩码等。 ip addr show或者,你也可以使用传统的 ifconfig 命…...
【数据分享】全国乡村旅游重点镇(乡)数据(Excel/Shp格式/免费获取)
之前我们分享过从我国文化和旅游部官网整理的2018-2023年我国50个重点旅游城市星级饭店季度经营状况数据(可查看之前发布的文章)!文化和旅游部官网上也分享有很多与旅游相关的常用数据,我们基于官网发布的名单文件整理得到全国乡村…...
停车场小程序的设计
管理员账户功能包括:系统首页,个人中心,车主管理,商家管理,停车场信息管理,预约停车管理,商场收费管理,留言板管理 微信端账号功能包括:系统首页,停车场信息…...
绿色金融相关数据合集(2007-2024年 具体看数据类型)
数据类型: 1.绿色债券数据:2014-2023 2.绿色信贷相关数据:2007-2022 3.全国各省及地级市绿色金融指数:1990-2022 4.碳排放权交易明细数据:2013-2024 5.绿色金融试点DID数据:2010-2023 数据来源&#…...
【matlab 项目工期优化】基于NSGA2/3的项目工期多目标优化(时间-成本-质量-安全)
一 背景介绍 本文分享了一个通用的项目工期优化的案例,决策变量是每个子项目的工期,优化目标是项目的完成时间最小,项目的总成本现值最小,项目的总安全水平最高,项目的总质量水平最高。采用的算法是NSGA2和NSGA3算法。…...
Python考前复习
选择题易错: python3不能完全兼容python2内置函数是python的内置对象之一,无需导入其他模块python中汉字变量合法,如“小李123”合法;但T-C不合法,因为有“-”集合无顺序,不能索引;range(5)[2]…...
虚拟机交叉编译基于ARM平台的opencv(ffmpeg/x264)
背景: 由于手上有一块rk3568的开发板,需要运行yolov5跑深度学习模型,但是原有的opencv不能对x264格式的视频进行解码,这里就需要将ffmpegx264编译进opencv。 但是开发板算力有限,所以这里采用在windows下,安…...
react之错误边界
错误边界实质是指什么 实际上是组件 错误边界捕获什么时候的错误 在渲染阶段的错误 错误边界捕获的是谁的错误 捕获的是子组件的错误 错误边界不能捕获什么错误 1、不能捕获异步代码 2、不能捕获事件处理函数 3、不能捕获服务端渲染 4、不能捕获自身抛出的错误 错误…...
openEuler系统之使用Keepalived+Nginx部署高可用Web集群
Linux系统之使用Keepalived+Nginx部署高可用Web集群 一、本次实践介绍1.1 本次实践简介1.2 本次实践环境规划二、keepalived介绍2.1 keepalived简介2.2 keepalived主要特点和功能2.3 使用场景三、Keepalived和Nginx介绍3.1 Nginx简介3.2 Nginx特点四、master节点安装nginx4.1 安…...
基于图像处理的滑块验证码匹配技术
滑块验证码是一种常见的验证码形式,通过拖动滑块与背景图像中的缺口进行匹配,验证用户是否为真人。本文将详细介绍基于图像处理的滑块验证码匹配技术,并提供优化代码以提高滑块位置偏移量的准确度,尤其是在背景图滑块阴影较浅的情…...
uniapp 对接腾讯云IM群组成员管理(增删改查)
UniApp 实战:腾讯云IM群组成员管理(增删改查) 一、前言 在社交类App开发中,群组成员管理是核心功能之一。本文将基于UniApp框架,结合腾讯云IM SDK,详细讲解如何实现群组成员的增删改查全流程。 权限校验…...
51c自动驾驶~合集58
我自己的原文哦~ https://blog.51cto.com/whaosoft/13967107 #CCA-Attention 全局池化局部保留,CCA-Attention为LLM长文本建模带来突破性进展 琶洲实验室、华南理工大学联合推出关键上下文感知注意力机制(CCA-Attention),…...
学习STC51单片机31(芯片为STC89C52RCRC)OLED显示屏1
每日一言 生活的美好,总是藏在那些你咬牙坚持的日子里。 硬件:OLED 以后要用到OLED的时候找到这个文件 OLED的设备地址 SSD1306"SSD" 是品牌缩写,"1306" 是产品编号。 驱动 OLED 屏幕的 IIC 总线数据传输格式 示意图 …...
LLM基础1_语言模型如何处理文本
基于GitHub项目:https://github.com/datawhalechina/llms-from-scratch-cn 工具介绍 tiktoken:OpenAI开发的专业"分词器" torch:Facebook开发的强力计算引擎,相当于超级计算器 理解词嵌入:给词语画"…...
Mysql8 忘记密码重置,以及问题解决
1.使用免密登录 找到配置MySQL文件,我的文件路径是/etc/mysql/my.cnf,有的人的是/etc/mysql/mysql.cnf 在里最后加入 skip-grant-tables重启MySQL服务 service mysql restartShutting down MySQL… SUCCESS! Starting MySQL… SUCCESS! 重启成功 2.登…...
通过 Ansible 在 Windows 2022 上安装 IIS Web 服务器
拓扑结构 这是一个用于通过 Ansible 部署 IIS Web 服务器的实验室拓扑。 前提条件: 在被管理的节点上安装WinRm 准备一张自签名的证书 开放防火墙入站tcp 5985 5986端口 准备自签名证书 PS C:\Users\azureuser> $cert New-SelfSignedCertificate -DnsName &…...
ubuntu22.04 安装docker 和docker-compose
首先你要确保没有docker环境或者使用命令删掉docker sudo apt-get remove docker docker-engine docker.io containerd runc安装docker 更新软件环境 sudo apt update sudo apt upgrade下载docker依赖和GPG 密钥 # 依赖 apt-get install ca-certificates curl gnupg lsb-rel…...
基于江科大stm32屏幕驱动,实现OLED多级菜单(动画效果),结构体链表实现(独创源码)
引言 在嵌入式系统中,用户界面的设计往往直接影响到用户体验。本文将以STM32微控制器和OLED显示屏为例,介绍如何实现一个多级菜单系统。该系统支持用户通过按键导航菜单,执行相应操作,并提供平滑的滚动动画效果。 本文设计了一个…...
RKNN开发环境搭建2-RKNN Model Zoo 环境搭建
目录 1.简介2.环境搭建2.1 启动 docker 环境2.2 安装依赖工具2.3 下载 RKNN Model Zoo2.4 RKNN模型转化2.5编译C++1.简介 RKNN Model Zoo基于 RKNPU SDK 工具链开发, 提供了目前主流算法的部署例程. 例程包含导出RKNN模型, 使用 Python API, CAPI 推理 RKNN 模型的流程. 本…...
开疆智能Ethernet/IP转Modbus网关连接鸣志步进电机驱动器配置案例
在工业自动化控制系统中,常常会遇到不同品牌和通信协议的设备需要协同工作的情况。本案例中,客户现场采用了 罗克韦尔PLC,但需要控制的变频器仅支持 ModbusRTU 协议。为了实现PLC 对变频器的有效控制与监控,引入了开疆智能Etherne…...
