我能做到:
import fs from 'fs'
//now use fs normally
fs.open('file')
但是我不能对我编写的模块做同样的事情:
import myModule from 'myModule'
^^^^^^^^
SyntaxError: The requested module 'myModule' does not provide an export named 'default'
我被迫这样做:
import * as myModule from 'myModule'
//now use myModule normally
myModule.do_something()
是否可以自动导出默认导出中的所有命名导出,这样就不需要导入
* as
?
您无法导出多个
default exports
。请使用 named exports
来代替。
此处的示例是从名为
Test.js
: 的文件中导出的模块
export const namedVar = "named1";
export const do_something = () => console.log("do something");
你可以这样使用它:
import { namedVar, do_something } from './Test'
console.log(namedVar);
console.log(do_something());
我找到了解决办法。如果您的模块名为
mod.js
,请在文件中的任意位置添加此行:
export * as default from './mod.js';
现在以下两个语句是等效的:
import * as Mod from 'path/to/mod.js';
import Mod from 'path/to/mod.js';