javascript - Typescript 导入/导出
运行 app.ts 后,我期望得到这个结果:
{ val: 'A' } //C
{ val: 'CONSTANT'} //B
但是,我得到的结果是:
{ val: 'A' } //C
{ val: undefined } //B supposed to be 'CONSTANT' ??
有什么想法吗??谢谢!
这是完整的代码:
tsconfig.json
"target": "es6",
"experimentalDecorators": true,
"emitDecoratorMetadata": true,
"module": "commonjs",
"rootDir": "./src",
"outDir": "./dist",
"esModuleInterop": true,
"forceConsistentCasingInFileNames": true,
"strict": true,
"strictPropertyInitialization": false,
"skipLibCheck": true
app.ts
import { C } from "./second";
import { B } from "./first";
console.log(C)
console.log(B)
/**
* C depends on A
* B depends on CONSTANT
**/
first.ts
import { CONSTANT } from "./second"
const A ={
val: 'A'
}
const B = {
val: CONSTANT
}
export { A, B }
second.ts
import { A } from "./first";
const CONSTANT = 'CONSTANT'
const C = {
val: A.val
}
export { CONSTANT, C }
答案#1
这里有一个循环依赖。const CONSTANT='CONSTANT' 应该放在一个单独的文件中