ES6之import * as 用法 & import { default as & export { default as用法——as-重命名

本文详细介绍了ES6中的模块化操作,包括import * as用于导入所有模块变量并重命名,import {default as}

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

ES6之import * as 用法 & import { default as & export { default as用法——as-重命名

模块化操作主要包括两个方面。

export :负责进行模块化,也是模块的输出。
import : 负责把模块引,也是模块的引入操作。

import * as用法

1、import 导入模块变量-----这里在导入的时候变量需要重命名,import的时候必须使用大括号!

//按需引入math模块各个变量
import{del,add,sub as subList}from"@/api/math.js"
console.log(de1)
console.log(add(24))
console.log(subList(203))

2、一次性全部导入模块变量!用*

//全部引入math.js模块变量
import*as math from"@/api/math.js"  // *——代表所有  math——自定义的重命名
console.1og(math.de1)
console.1og(math.add(24))
console.Log(math.subList(203)
export {default as用法

src/tools/otherMapTool/TrackSelectTool.js

class TrackSelectTool extends NMap.tool.PointSelectTool {
    // 内容区
}
export default TrackSelectTool

src/tools/index.js

export {default as TrackSelectTool} from './otherMapTool/TrackSelectTool';

使用

src/components/common/trackMark.vue

import * as tools from '@/tools/index.js';

methods:{
    getData(){
        this.selectTool = new tools.TrackSelectTool({
          filter(feature) {
            return 'trackMark' === feature.properties.geoLiveType;
          }
        });
    }
}
小例子

1、创建一个 b.js文件, 导出两个模块变量

export const name='名字'; 
export const age=21;

2、创建一个 a.js文件,引入b.js文件 暴露出的两个变量。

// 两种使用方法

<script type="module"> 
    // 方法一: 会导出这个默认的对象作为一个对象
    import {name, age } from './b.js'
    console.log(name) 

    // 方法二: 会将若干export导出的内容组合成一个对象返回;
    import * as b from './b.js'

    console.log(b.name)
    console.log(b.age)
 </script>

import * as xxx from 'xxx’: 会将若干export导出的内容组合成一个对象返回;

import xxx from 'xxx':(export default Din)只会导出这个默认的对象作为一个对象

1、export的用法:

export可以让我们把变量,函数,对象进行模块话,提供外部调用接口,让外部进行引用。先来看个最简单的例子,把一个变量模块化。我们新建一个temp.js文件,然后在文件中输出一个模块变量。

// temp.js文件

export var a = 'jspang';

然后可以在index.js中以import的形式引入。

import {a} from './temp.js';
console.log(a);

cmd命令模块输入
babel-node index.js 要注意目录

1.1、多变量的输出(temp.js)
// temp.js文件

var a ='js';
var b ='技术应用';
var c = 'web';

export {a,b,c} //包装成对象{}
1.2、函数的模块化输出(temp.js)
export function add(a,b){
    return a+b;
}
2、as的用法

有些时候我们并不想暴露模块里边的变量名称,而给模块起一个更语义话的名称,这时候我们就可以使用as来操作。

// temp.js文件

var a ='js';
var b ='技术应用';
var c = 'web';

export {
    x as a,
    y as b,
    z as c
}

index.js

import {x,y,z} from './temp.js';
3、export default的使用

加上default相当是一个默认的入口。在一个文件里export default只能有一个。
我们来对比一下export和export default的区别

1.export
export var a ='js';

export function add(a,b){
    return a + b;
}
//index.js引入
import {a,add} form './temp';//也可以分开写
2.export defalut
export default var a='jspang';
//index.js引入
import str from './temp';
&lt;think&gt;好的,用户让我解释一下这段代码:`export { default as TagsView } from &#39;./TagsView/index.vue&#39;`。首先,我需要确定用户的技术背景。看起来他们在问JavaScript或TypeScript中的模块导出语法,可能是在Vue.js项目中遇到的。用户可能是刚开始学习前端开发,或者对ES6的模块系统不太熟悉。 首先,我应该分解这段代码的各个部分。`export`关键字表明这是ES6的模块导出语法。然后看到大括号里的内容,`default as TagsView`,这里可能有些混淆,因为通常导出默认导出时不需要用大括号。但在这里,他们是从另一个文件导入默认导出,并重新命名后作为命名导出。 接下来是路径部分`&#39;./TagsView/index.vue&#39;`,这说明TagsView组件位于当前目录下的TagsView文件夹中的index.vue文件。通常,Vue的单文件组件使用.vue扩展名,所以这应该是一个Vue组件。 需要解释默认导出和命名导出的区别。默认导出允许导入时任意命名,而命名导出必须使用相同的名字。这里的情况是,原文件(index.vue)使用`export default`导出了一个组件,然后在当前文件中,将其作为命名导出`TagsView`重新导出。这样其他文件可以直接从当前文件导入TagsView,而不需要深入到子目录结构。 可能用户不太清楚为什么要这样做。常见的原因包括组织代码结构,统一导出多个组件,方便其他模块引入。比如,如果有一个目录下有多个组件,可以在index.js中统一导出,这样外部只需引用目录路径,而不需要具体到每个文件。 还需要考虑用户可能遇到的问题,比如路径是否正确,导出名称是否匹配,或者是否在导入时使用了正确的语法。例如,如果原文件没有默认导出,或者路径有误,会导致错误。同时,用户可能想知道这种导出方式与直接导出的区别,以及其优势在哪里。 总结起来,我需要分步骤解释:ES6导出语法、默认导出的重命名、文件路径结构、以及这种模式在项目中的实际应用。确保用户理解这种写法的作用和好处,同时指出可能的常见错误点,帮助他们避免在实际使用中出现问题。&lt;/think&gt;这是一个在JavaScript/TypeScript中使用的模块导出语法,常见于Vue.js项目。让我们逐步解析这个语句: 1. **模块导出语法** `export { ... }` 表示从当前文件导出指定内容,这里使用了ES6的命名导出(named export)格式 2. **导出默认导出内容** `default as TagsView` 表示将目标模块的默认导出(default export)转换为当前模块的命名导出。其中: - `default`:表示目标模块的默认导出 - `as TagsView`:给这个导出内容赋予新的命名标识符 3. **源文件路径解析** `&#39;./TagsView/index.vue&#39;` 表示: - `./`:当前目录 - `TagsView`:子目录名 - `index.vue`:Vue单文件组件(SFC) 4. **典型应用场景** 这种写法常见于以下代码组织结构: ```bash src/ ├── components/ │ ├── TagsView/ # 组件目录 │ │ ├── index.vue # 组件实现 │ │ └── ... # 相关子组件/工具 │ └── index.js # 统一导出入口 ``` 5. **使用优势** 当在其他文件中导入时,可以直接通过: ```javascript import { TagsView } from &#39;@/components&#39; ``` 而不需要写完整路径: ```javascript import TagsView from &#39;@/components/TagsView/index.vue&#39; ``` **注意事项**: 1. 原文件`index.vue`必须包含默认导出 ```vue &lt;script&gt; export default { // 组件选项 } &lt;/script&gt; ``` 2. 这种导出方式常用于构建模块化的组件库,方便维护和管理组件依赖关系 3. 路径别名(如`@/`)需要配合构建工具(如Webpack/Vite)的配置才能生效
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值