繁体   English   中英

es6 模块:将特定功能导入为 aName

[英]es6 modules: import specific-functions as aName

我想从另一个模块导入特定功能。 但是我遇到了命名冲突:我的导入文件中有类似的函数名称。 我想做这样的事情:

// exporterFile.js

export {
    set,
    get,
    has,
    foo,
    bar,
}

// implementation code for set, get, etc.
// importerFile.js

import {get, set} as exporter from "exporterFile.js"

function get() {
    // some code and call set from exporter
    exporter.set(something)
}

我知道我可以import * as exporter from "exporterFile.js"器,但它缺乏可读性并且没有显示我从导出器文件中使用的方法(函数)。

另外,我知道我可以import {get as exporterGet, set as exporterSet} from "exporterFile.js"但它不那么可读。

是否有一种优雅、清晰、易读的方式从模块中导入选定的函数而不会发生命名冲突? 如果不是,最佳实践、方法和建议是什么:可读性非常重要,tree-shaking 也是一个考虑因素。

您已经提到的两种方式没有其他选择。 可读性是主观的,但exporterGet()exporter.get()都是常见的好选择。 如果您明确希望在import语句本身中列出所有使用的函数,则必须给它们单独的别名。 摇树工具将能够处理这两种格式。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM