es6中import * as导入方式

news/2024/7/10 23:11:17 标签: es6, 前端, javascript

es6中import * as导入方式

  • 一、问题和解决方法
  • 二、简介import * as
  • 三、ES6 模块化语法导入导出
    • 1.导入
    • 2.导出

一、问题和解决方法

问题报错:

export ‘default’ (imported as ‘XLSX’) was not found in ‘xlsx’ (possible exports: CFB, SSF, parse_xlscfb, parse_zip, read, readFile, readFileSync, set_cptable, set_fs, stream, utils, version, write, writeFile, writeFileAsync, writeFileSync, writeFileXLSX, writeXLSX)

解决:
import XLSX from ‘xlsx’
改为
import * as XLSX from ‘xlsx’

二、简介import * as

import * as XLSX from ‘xlsx’ 中的 import * as 是 ES6 模块化语法中的一种导入方式。
这种语法允许你将一个模块的所有导出内容都绑定到一个命名空间对象上,以便在当前模块中使用。在这个例子中,* as XLSX 的意思是将整个 xlsx 模块的导出内容都绑定到一个名为 XLSX 的命名空间对象上。

通过使用 import * as XLSX,你可以通过 XLSX 对象来访问 xlsx 模块中导出的所有函数、变量或其他成员。

例如,在之后的代码中,你可以使用 XLSX.readFile()、XLSX.utils.sheet_to_json() 等等,来调用 xlsx 库提供的各种函数和方法。

这种导入方式的好处是可以避免命名冲突,因为所有的导出成员都被封装在一个命名空间对象中,而不会直接暴露在当前模块的作用域中。你可以自由地在当前模块中定义与 XLSX 命名空间对象相同名称的变量或函数,而不会发生冲突。

总结起来,import * as XLSX 语句的意思是将整个 xlsx 模块的导出内容绑定到一个名为 XLSX 的命名空间对象上,以便在当前模块中使用。

三、ES6 模块化语法导入导出

1.导入

ES6 模块化语法提供了一种方便和灵活的方式来导入和导出模块中的函数、变量和其他成员。下面是关于 ES6 模块化语法的导入和导出的说明。

导入(Import)模块成员:

在 ES6 中,使用 import 关键字可以导入其他模块中的成员(函数、变量等)。导入的语法如下:

javascript">import { member1, member2 } from 'module-name';

这里的 module-name 是要导入的模块的路径或模块名称,member1 和 member2 是该模块中要导入的具体成员的名称。

如果想导入整个模块的所有成员到一个命名空间对象中,可以使用 import * as 语法:

javascript">import * as namespace from 'module-name';

这样会将模块的所有成员绑定到一个名为 namespace 的对象上。

2.导出

在 ES6 中,使用 export 关键字可以导出当前模块的成员供其他模块使用。导出的语法如下:

javascript">export const member1 = value1;
export function member2() {
  // ...
}

这样,通过 export 关键字可以导出常量、变量、函数等。
还可以使用 export default 导出默认成员,每个模块只能有一个默认导出:

javascript">export default member;

这里的 member 是要导出的默认成员。
在其他模块中,通过 import 语法来引入已导出的成员,然后就可以使用这些成员了。
需要注意的是,ES6 的模块化语法需要在支持的 JavaScript 运行环境中使用,例如现代的浏览器或使用工具如 Webpack、Babel 来进行转译和打包

在这里插入图片描述


http://www.niftyadmin.cn/n/5303183.html

相关文章

linux-6.0 内核存储栈全景图

linux 存储栈原图地址:https://www.thomas-krenn.com/en/wiki/Linux_Storage_Stack_Diagram

redis重启后数据丢失问题解决(亲测好用)

redis修改密码重启后发现redis中的数据丢失了 解决办法: 首先在redis的安装目录下查找重启之前的dump.rdb文件,发现只有当天的一个dump.rdb文件,确认不是重启备份的文件 然后我就全盘找一下dump.rdb的备份文件,找到前一天的备份…

CMMI认证的步骤以及需要多长时间?

CMMI(Capability Maturity Model Integration)认证是一个评估组织软件开发过程成熟度的过程,其目的是提高组织的软件开发能力和性能。CMMI认证通常分为几个主要步骤,具体如下: 1. 准备阶段: 差距分析&am…

机器学习:贝叶斯估计在新闻分类任务中的应用(实验报告)

文章摘要 随着互联网的普及和发展,大量的新闻信息涌入我们的生活。然而,这些新闻信息的质量参差不齐,有些甚至包含虚假或误导性的内容。因此,对新闻进行有效的分类和筛选,以便用户能够快速获取真实、有价值的信息&…

ubuntu远程桌面连接之novnc

一、前言 该操作是为了实现vnc桌面连接为url连接方式,且在浏览器中可以对ubuntu进行操作。在使用novnc进行操作前,需要先安装vnc才可。ubuntu下如何安装vnc,可看博主前面写的一篇文,ubuntu远程桌面连接之vnc-CSDN博客,…

CMake入门教程【核心篇】添加库(add_library)

😈「CSDN主页」:传送门 😈「Bilibil首页」:传送门 😈「本文的内容」:CMake入门教程 😈「动动你的小手」:点赞👍收藏⭐️评论📝 文章目录 1. 基本用法2.STATIC…

MOS管选型科普

背景 朋友工厂在生产检测BMS的时候,老化测试大电流200A; 现在他们使用的是一款通用电源 价格20W; 找我设计一款恒流源,需求如下: 0~200A电流可调 电压范围和他交流中了解到,电压最大也就1V左右&#x…

FTU电科院检测学习笔记-规划

作者简介: 本人从事电力系统多年,岗位包含研发,测试,工程等,具有丰富的经验 在配电自动化验收测试以及电科院测试中,本人全程参与,积累了不少现场的经验 ———————————————————…