当前位置:  开发笔记 > 编程语言 > 正文

ECMAScript-6导入嵌套函数?

如何解决《ECMAScript-6导入嵌套函数?》经验,为你挑选了1个好方法。

嗨我不久前切换到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?就像你如何用括号做嵌套对象销毁赋值?(阿卡:){Utils: [{someFunc2}]}

我曾经这样做,var someFunc2 = require('../some/path/to/utils').someFunc2;但我似乎无法弄清楚如何使用import语句



1> Bergi..:

不,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';


您可能希望将其拆分为多个模块.否则,只需使用两行进行解构
推荐阅读
臭小子
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有