【发布时间】:2018-04-12 21:53:29
【问题描述】:
我有一个带有循环引用的打字稿项目,即。 A 类引用 B 类,B 类引用 A 类。此外,还有包含 export 语句的外部模块。我无法更改这些。
方法 1
使用导入语句:
import { ClassName } from './path/to/the/file';
这不允许循环引用。重写代码以避免循环引用对我来说不是一个选择。
方法 2
有一个 definitions.d.ts 文件引用项目中的每个文件,如下所示:
/// <reference path="path/to/the/file"/>
然后,在每个代码文件中,定义文件的引用方式都相同。
这个解决方案似乎允许循环引用。但是,不能像这样引用带有export 语句的外部模块文件,所以我需要使用import 语句。问题是,一旦文件使用了import 语句,它似乎也变成了一个模块,并且不能再使用/// <reference 指令来引用。
什么是允许循环引用和外部模块的良好项目结构?
编辑:将两个类放入同一个文件正是我想要的。有没有办法在为每个类保留一个单独的文件的同时实现相同的目标?
【问题讨论】:
标签: typescript import module