如何从(默认导出的)外部 const 块导出内部函数?

How to export inner function from (exported default) outer const block?

我在文件中有这段代码 "Strings.js":

const Strings = {
    getString(str) {
        ... // some logic
    },
    ... // more functions
}

export default Strings;

我想导入整个东西(字符串)and/or 只是从另一个文件中导入 getString 函数:

import Strings, { getString } from '../../utils/Strings';

或者只是:

import { getString } from '../../utils/Strings';

能够简单地编写 getString 而不是 Strings.getString(多行)。

当我尝试使用它时,出现以下错误:

Attempted import error: 'getString' is not exported from '../../utils/Strings'.

抱歉,如果这个问题已经有人问过,我找不到答案。

您应该使用命名导出,而不是对象:

export function getString(str) {
    … // some logic
}
… // more functions

然后您可以将它们作为命名空间对象导入

import * as Strings from '../../utils/Strings';

… Strings.getString(…) …

或直接

import { getString }  from '../../utils/Strings';

… getString(…) …

如果你绝对want/need写import Strings from '…';(你真的不应该),你将需要添加一个默认导出对象:

… // function declarations

export default { getString }

你要么必须

function getString (str) {
}
const Strings = {
    getString
}
export default Strings
export { getString }

const Strings = {
  getStrings(str) {
  }
}

const { getStrings } = String

export default Strings
export { getString }

因此,没有直接导出对象的方法属性