Cocos Creator 3D uses babel instead of tsc to compile TypeScript scripts. In particular, the @babel/plugin-transform-typescript plugin is used. For this reason, TypeScript support has certain limitations.
Some important considerations are listed below. For a complete description, see @babel/plugin-transform-typescript.
tsconfig.jsonwill not be read.
- Implied with
isolatedModulesoption, which means:
- Const enums is not supported.
- TypeScript types and interfaces should not be exported in the export declaration.
import =are not supported.
- Variables exported by namespace must be declared as
- Different declarations in the same namespace will not share the scope and require explicit use of qualifiers.
tsconfig.json will not be read during compilation means that the compilation options in
tsconfig.json does not affect compilation.
However, there are exceptions, please refer to the Module Analysis documentation.
Developers can still use
tsconfig.json in the project to cooperate with the IDE to implement type checking and other functions.
In-order to make the IDE’s TypeScript checking function compatible with Cocos Creator 3D's behavior, pay extra attention to some things, please referto the tsconfig documentation.
Cocos Creator 3D uses the NodeJS module analysis algorithm.
It is equivalent to the following
Typescript's path mapping function is also supported. The following
tsconfig.json options will be read and retain the same semantics as