首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ECMAScript-6导入嵌套函数?

ECMAScript-6导入嵌套函数?
EN

Stack Overflow用户
提问于 2015-12-12 22:06:37
回答 2查看 3.4K关注 0票数 5

嗨,我刚才转到ECMAScript-6 javascript语法,我很喜欢它!有一件事我注意到,但没有找到一个明确的答案是使用嵌套的析构语法的导入。我的意思是这样的..。

假设我有一个像这样的文件。

代码语言:javascript
复制
export const SomeUtils = _.bindAll({ //lodash _
    someFunc1(params){
        // .... stuff here
    },
    someFunc2(params){
        // .... stuff here
    },
    someFunc3(params){
        // .... stuff here
    }
});
// ... many more of these

我一直在做这样的事情来获得一个特定的功能

代码语言:javascript
复制
import {Utils} from '../some/path/to/utils';
var {someFunc2} = Utils;

说到重点..。有办法为someFunc2做单行导入吗?比如如何使用括号进行嵌套对象销毁分配?(又名:{Utils: [{someFunc2}]})

我以前经常做var someFunc2 = require('../some/path/to/utils').someFunc2;,但我似乎不知道如何用导入语句来实现它

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-12-12 22:29:11

不,ES6模块导入不提供析构选项。它们所拥有的唯一特性是导出(但不嵌套)。它们正好取代了您的require(…).someFunc2模式。

在您的具体情况下,我看不出有什么理由要将单个对象导出为指定的导出。只管用

代码语言:javascript
复制
export function someFunc1(params){
    // .... stuff here
}
export function someFunc2(params){
    // .... stuff here
}
export function someFunc3(params){
    // .... stuff here
}

这样你就可以

代码语言:javascript
复制
import {someFunc2} from '../some/path/to/utils';
票数 5
EN

Stack Overflow用户

发布于 2015-12-12 22:35:23

要实现您想要的结果,您需要将其导出为默认值:

代码语言:javascript
复制
const Utils = _.bindAll({ //lodash _
    someFunc1(params){
        // .... stuff here
    },
    someFunc2(params){
        // .... stuff here
    },
    someFunc3(params){
        // .... stuff here
    }
});

export default Utils;

然后你可以导入你所需要的全部东西.

代码语言:javascript
复制
import Utils, { someFunc2 } from '../some/path/to/utils';
票数 -2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34245546

复制
相关文章

相似问题

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