javascript - 简化 `import as`语法

标签 javascript module ecmascript-6

我目前正在使用以下语法导入一些 lodash 函数:

从 'lodash' 导入 {cloneDeep as _cloneDeep, every as _each, size as _size}

这可行,但必须将每个指定为变量重命名有点烦人。有什么捷径可以避免这种情况吗?我很高兴将所有这些方法也包含在一个对象中,以模拟导入整个 lodash 库时的功能,例如_.cloneDeep_.each

澄清一下,我不想导入整个库。所以我正在寻找一种仍然允许模块化导入功能的解决方案。

最佳答案

由于您的目标是避免烦恼,我怀疑这可能不是您想要的,但如果您非常了解消费者语法并希望单独导入以进行有效打包或某些东西,您总是可以创建一个中间模块。

该模块将导入您想要的内容,并且在您的主代码中您可以按照您希望的方式引用中间模块。

举个例子:

import {parse as _parse, join as _join} from 'path'

export var parse = _parse;
export var join = _join;

在你的主应用程序中,

import * as path from './custom-lib/path'

path.parse(...);

它涉及一个额外的文件,这很糟糕,但你只需要编写一次。

我不一定称这是一个好的解决方案,但我认为这是按照当前标准最接近您想要的解决方案。

关于javascript - 简化 `import as`语法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36563047/

相关文章:

Perl:CPAN - 模块修改和添加功能

javascript - 复合对象上的 Object.Assign

javascript - 单击时将事件/选定状态添加到链接

javascript - Elasticsearch 中必须查询(AND)内的嵌套应该查询(OR)

javascript - 我怎样才能把这个让这个框像图片中那样放在文本下面

javascript - JavaScript 中如何捆绑嵌套依赖项

node.js - 如何访问单独文件中的命令选项?

javascript - ES6 类 'this' 用于非类方法

javascript - 使用 fetch 时拒绝 promise

javascript - 返回的 AJAX 数组未被复制到数组