Javascript 如何从(导出的默认值)外部常量块导出内部函数?

Javascript 如何从(导出的默认值)外部常量块导出内部函数?,javascript,es6-modules,Javascript,Es6 Modules,我将此代码保存在文件“Strings.js”中: 我想从另一个文件导入整个内容(字符串)和/或getString函数,如下所示: 导入字符串,{getString}来自“../../utils/Strings” 或者只是: 从'../../utils/Strings'导入{getString} 能够简单地编写getString而不是Strings.getString(多行) 当我尝试使用它时,会出现以下错误: 尝试导入错误:“getString”不是从“../../utils/Strings”导

我将此代码保存在文件“Strings.js”中:

我想从另一个文件导入整个内容(字符串)和/或getString函数,如下所示:

导入字符串,{getString}来自“../../utils/Strings”

或者只是:

从'../../utils/Strings'导入{getString}

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

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

尝试导入错误:“getString”不是从“../../utils/Strings”导出的。


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

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

export function getString(str) {
    … // some logic
}
… // more functions
然后可以将它们作为命名空间对象导入

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

… Strings.getString(…) …
或者直接

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

… getString(…) …
如果您绝对想要/需要编写
从“…”导入字符串(您确实不应该),您将需要添加默认导出对象:

… // function declarations

export default { getString }

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

export function getString(str) {
    … // some logic
}
… // more functions
然后可以将它们作为命名空间对象导入

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

… Strings.getString(…) …
或者直接

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

… getString(…) …
如果您绝对想要/需要编写
从“…”导入字符串(您确实不应该),您将需要添加默认导出对象:

… // function declarations

export default { getString }
你要么必须

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

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

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


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

如果您希望函数与对象分开,为什么不单独定义和导出它?@Craicerjack我可以,我只是想知道是否有方法从对象内部导出它。您是否还需要
字符串
作为上下文。e、 g.使用调用其他方法时使用
this.someMethod()
如果您希望函数与对象分开,为什么不单独定义和导出它?@Craicerjack我可以,我只是想知道是否有方法从对象内部导出它。您是否还需要
字符串作为上下文。e、 g.使用
this.someMethod()