使用 export default new ClassName() 时如何使用导入;
How to use imports when using export default new ClassName();
例如:
文件 1:
const env = process.env.VARIABLE;
export const config: any = config[env.toLowerCase()];
文件 2:
import { config } from '../file1';
class SomeClass {
constructor() {
console.log(config.someProperty);
}
}
export default new SomeClass();
这似乎不起作用。 config.someProperty 未定义。有什么原因吗?
根据请求编辑:
import { config } from '../file1';
export class SomeClass {
private myConfig = config.someProperty;
constructor() {
console.log(myConfig);
}
}
答案是如果您的环境不具备处理它们的能力,请确保没有循环依赖。对我来说,我在这两个 类 之间存在循环依赖(问题中未显示),这是通过将配置设置移动到它自己的模块来解决的。
例如:
文件 1:
const env = process.env.VARIABLE;
export const config: any = config[env.toLowerCase()];
文件 2:
import { config } from '../file1';
class SomeClass {
constructor() {
console.log(config.someProperty);
}
}
export default new SomeClass();
这似乎不起作用。 config.someProperty 未定义。有什么原因吗?
根据请求编辑:
import { config } from '../file1';
export class SomeClass {
private myConfig = config.someProperty;
constructor() {
console.log(myConfig);
}
}
答案是如果您的环境不具备处理它们的能力,请确保没有循环依赖。对我来说,我在这两个 类 之间存在循环依赖(问题中未显示),这是通过将配置设置移动到它自己的模块来解决的。