在不创建新变量的情况下创建另一个文件中的 class 的实例
Make an instance of a class that is in an another file without creating a new variable
我有一个包含这个的文件:
// filename "Test1"
module.exports = class Test {
constructor() {
console.log('Instancied !');
}
}
我有第二个文件包含这个
// filename "Test2"
const Test = require('./Test1');
const testInstance = new Test();
有没有一种方法可以简化此操作以在与要求相同的行中创建 class?
这行不通,但我认为它可以看起来像这样:const testInstance = new (require('./Test1'));
这是我能想到的最好的:
// Test1
class Test {
constructor() {
console.log('Instancied !');
}
}
module.exports = () => new Test();
// Test2
const testInstance = require('./Test1')();
这是否解决了您的问题?
require('./Test1')
returns定义了class。所以你有正确的想法,你只是缺少一对 ()
:
const testInstance = new (require('./Test1'))();
我有一个包含这个的文件:
// filename "Test1"
module.exports = class Test {
constructor() {
console.log('Instancied !');
}
}
我有第二个文件包含这个
// filename "Test2"
const Test = require('./Test1');
const testInstance = new Test();
有没有一种方法可以简化此操作以在与要求相同的行中创建 class?
这行不通,但我认为它可以看起来像这样:const testInstance = new (require('./Test1'));
这是我能想到的最好的:
// Test1
class Test {
constructor() {
console.log('Instancied !');
}
}
module.exports = () => new Test();
// Test2
const testInstance = require('./Test1')();
这是否解决了您的问题?
require('./Test1')
returns定义了class。所以你有正确的想法,你只是缺少一对 ()
:
const testInstance = new (require('./Test1'))();