[英]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.