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