当 Anders Hejlsberg 在以下视频中 35:00 左右谈论外部模块时......
Anders Hejlsberg: Introducing TypeScript
... 为什么文件 server.ts
需要对 node.d.ts 的三重斜杠引用,而 hello.ts
不需要类似的引用到 server.ts
?
特别是在 hello.ts
中,他提到存在智能感知,而且他可以使用从 server.ts
导出的项目。那么三重斜线引用还能添加什么?
最佳答案
在两种情况下您需要三斜杠引用:
- 当您引用 JavaScript 类型定义时,例如有关节点、jQuery 等的定义,请参阅:https://github.com/DefinitelyTyped/DefinitelyTyped
- 当我们想使用
--out
编译时您可以使用/// <reference
引用您的文件.
你需要一个import/require
使用外部模块时的组合即amd
/commonjs
.如果你不知道这些是什么意思(amd/commonjs 是 javascript 术语,不特定于 typescript),你不必关心。只需使用 /// <reference
并用 --out
编译.
PS:我有一个关于内部和外部模块的视频教程:TypeScript Modules Demystified : Internal, AMD with RequireJS, CommonJS with NodeJS
更新:
请使用tsconfig.json
对于新项目而不是引用评论:https://basarat.gitbook.io/typescript/project/compilation-context
关于module - 我什么时候需要三重斜杠引用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22684802/