使用导出默认new new ClassName()时如何使用导入;

时间:2020-11-02 16:21:36

标签: javascript node.js typescript es6-modules

例如:

文件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 个答案:

答案 0 :(得分:0)

答案是,如果您的环境不具备处理这种依赖的能力,请确保没有循环依赖。对我来说,我在两个类之间有一个循环依赖关系(问题中未显示),可以通过将配置设置移至其自己的模块来解决。