对于这个问题,我们考虑以下导出
List<Animal>
我想要更改,以便导出export { MyClassA, MyClassB, MyClassC }
和MyClassA
个实例。现在我希望我能做到
MyClassB
哪个不起作用。看来这是不可能的。感觉有点像你想用一个实例参数调用一个函数
export { new MyClassA() as myclassa, new MyClassB() as myclassb, MyClassC };
但你必须写这个像
someFunction(new MyClassA());
现在因为let myclassa = new MyClassA();
someFunction(myclassa);
确实有用,我希望someFunction(new MyClassA())
在我将其重写为
之前export
我很好奇我尝试过的东西是否有可能?
答案 0 :(得分:2)
export let myInstanceA = new MyClassA();
据我所知。
答案 1 :(得分:1)
我认为没有es6导入语法直接支持它。但你能做的是:
如果您想成为单身人士,可以在导出之前将其改为:
// in file.js
class A {...}
export const a = new A();
// use it
import {a} from './file';
如果您想成为多个实例,可以将其导出,然后在外部实例化,例如:
// in file.js
export class A {...}
// use it
import {A} from './file';
let a1 = new A();
let a2 = new A();
答案 2 :(得分:1)
模块导出绑定,而不是实际值。您不需要显式绑定的唯一情况是默认导出:
export default class { ... };
export default 1;
所以以下内容也应该有效:
export default new MyClassA();
当然,只有一个默认导出,因此在您的情况下,您需要先创建绑定。如果您按照自己的方式或其他建议的方式来做,由您决定。