我在导出场景中遇到了一些小问题,不确定原因。我可能需要一个Babel插件来解决它,但不确定是哪个。
// a.js
export function fromA() {}
// b.js
export function fromB() {}
// index.js
import * as a from './a'
import * as b from './b'
export default { ...a, ...b}
// test.js
import all from './index'
const { fromA } = all // Works
import { fromA } from './index' // Does not work. Why?
我正在使用Babel。这是我的rc配置文件:
{
"plugins": [
"transform-object-rest-spread",
"transform-class-properties",
"transform-export-extensions",
"transform-decorators-legacy"
],
"presets": ["latest", "react"]
}
在test.js中,我似乎应该能够像往常一样在import语句中解构,但实际上不能。如果在index.js中单独导出函数,则可以正常工作。例如:
import { fromA } from './a'
import { fromB } from './b'
export default { fromA, fromB }
然而,我希望避免这种情况。
index.js
导出一个对象,因此只能将其作为整个对象导入。 - Leonid Beschastnyimport { fromA } from './index'
不起作用,因为没有fromA
导出,只有默认导出。而且使用export { ...a, ...b}
无法实现fromA
导出,因为导入和导出是模仿JS对象语法并且应该是静态的。 - Estus Flask