javascript – ECMAScript-6导入嵌套函数?

前端之家收集整理的这篇文章主要介绍了javascript – ECMAScript-6导入嵌套函数?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

嗨我不久前切换到ECMAScript-6 javascript语法,我喜欢它!我注意到并且无法找到确定答案的一件事是在导入时使用嵌套的破坏语法.我的意思是这样的……

可以说我有一个看起来像这样的文件.

export const SomeUtils = _.bindAll({ //lodash _
    someFunc1(params){
        // .... stuff here
    },someFunc2(params){
        // .... stuff here
    },someFunc3(params){
        // .... stuff here
    }
});
// ... many more of these

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

import {Utils} from '../some/path/to/utils';
var {someFunc2} = Utils;

为了达到目的..有没有办法为someFunc2进行单行导入?就像你如何用括号做嵌套对象销毁赋值? (Aka:{Utils:[{someFunc2}]})?

我曾经做过var someFunc2 = require(‘../ some / path / to / utils’).someFunc2;但我似乎无法弄清楚如何使用import语句来做到这一点

最佳答案
不,ES6模块导入不提供解构选项.他们唯一的功能是命名导出(但没有嵌套).它们旨在完全取代您的require(…).someFunc2模式.

在您的特定情况下,我没有看到您将单个对象导出为命名导出的任何原因.只是用

export function someFunc1(params){
    // .... stuff here
}
export function someFunc2(params){
    // .... stuff here
}
export function someFunc3(params){
    // .... stuff here
}

这样你就可以做到

import {someFunc2} from '../some/path/to/utils';

猜你在找的JavaScript相关文章