首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ES6默认和命名导出

ES6默认和命名导出
EN

Stack Overflow用户
提问于 2016-04-12 10:03:28
回答 2查看 4.4K关注 0票数 7

我正在努力理解命名和默认导出。我有一个看似基本的要求,我不知道如何设置。

我希望能够同时进口:

代码语言:javascript
复制
//app.js
import Mod from './my-module'
import { funcA, funcB } from './my-module'

console.log('A', Mod.funcA(), funcA()); // A a a
console.log('B', Mod.funcB(), funcB()); // A a a

当我尝试时,最接近的方法是:

代码语言:javascript
复制
//my-module.js
export function funcA() { return 'a'; };
export function funcB() { return 'b'; };

export default {funcA, funcB}

我的麻烦在于,我不希望重新索引默认导出中的每个函数。我只想定义我的函数,然后确保它们是导出的,这样我就可以任意使用它们。

有什么建议吗?还是我必须使用import * as Mod from './my-module';

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-04-12 10:10:26

您可以省略默认导出,并将导入用作语法:

代码语言:javascript
复制
//app.js
import * as Mod from './my-module'
import { funcA, funcB } from './my-module'

console.log('A', Mod.funcA(), funcA()); // A a a
console.log('B', Mod.funcB(), funcB()); // B b b
代码语言:javascript
复制
//my-module.js
export function funcA() { return 'a'; };
export function funcB() { return 'b'; };
票数 9
EN

Stack Overflow用户

发布于 2016-04-12 10:10:12

使用* as name导入整个模块的内容一次

代码语言:javascript
复制
import * as Mod from './my-module';

然后使用析构将它们分配给单独的常量:

代码语言:javascript
复制
const { funcA, funcB } = Mod;

对于导出,只需使用命名导出:

代码语言:javascript
复制
export function funcA() { return 'a'; };
export function funcB() { return 'b'; };
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36569961

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档