看了官方的handbook不太懂这个.d.ts 文件到底有何用处
之所提这个问题,是因为用 npm 安装的type-script 没有办法 import 而我自己试过单独把 collections.js 和 collections.d.ts 提取出来仍然没办法 import 不知道.d.ts 文件到底是什么含义
1
carlosliu 2015-11-14 04:51:53 +08:00
*.d.ts 是为第三方 javascript module 提供一个让代码编辑软件和 typescript 编译器可以理解的 interface 。
一般的使用法是在文件中加入如下注释即可,不需要 import 。 /// <reference path="./collections.d.ts" /> 最新的 vscode 和 atom-typescript 也支持直接在 jsconfig.json/tsconfig.json 配置里的 "files" 定义中引用 .d.ts 文件,而不再需要在每个文件中写这种重复的 comment 。参见 http://blogs.msdn.com/b/vscode/archive/2015/07/06/vs-code-es6.aspx |
2
okcdz OP @carlosliu 那具体的 ts 或者 js 的实现文件应该放在哪里?放在 d.ts 文件同一个目录下面吗?
按照你的做法确实成功了。但是为什么只需要 reference d.ts 文件就可以,而不需要 import 真正实现的 ts 或者 js 文件呢? |
3
carlosliu 2015-11-15 12:15:33 +08:00 1
external js + *. d.ts :
把 js 文件單獨添加到 index.html <script>裏就行。 參見 http://www.typescriptlang.org/Handbook#modules-working-with-other-javascript-libraries *.ts : collections.ts 定義的是一個 typescript internal module ,直接引用時不需要 import 。 或者使用 import myset = collections.Set; 形式。 參見 http://www.typescriptlang.org/Handbook#modules-splitting-across-files |