推荐关注
Meteor
JSLint - a JavaScript code quality tool
jsFiddle
D3.js
WebStorm
推荐书目
JavaScript 权威指南第 5 版
Closure: The Definitive Guide
okcdz

typescript 的 .d.ts 文件如何 Import

  •  
  •   okcdz · Nov 14, 2015 · 16536 views
    This topic created in 3867 days ago, the information mentioned may be changed or developed.

    看了官方的handbook不太懂这个.d.ts 文件到底有何用处

    之所提这个问题,是因为用 npm 安装的type-script 没有办法 import 而我自己试过单独把 collections.js 和 collections.d.ts 提取出来仍然没办法 import 不知道.d.ts 文件到底是什么含义

    5 replies    2015-11-15 18:50:20 +08:00
    carlosliu
        1
    carlosliu  
       Nov 14, 2015
    *.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
    okcdz
        2
    okcdz  
    OP
       Nov 15, 2015
    @carlosliu 那具体的 ts 或者 js 的实现文件应该放在哪里?放在 d.ts 文件同一个目录下面吗?
    按照你的做法确实成功了。但是为什么只需要 reference d.ts 文件就可以,而不需要 import 真正实现的 ts 或者 js 文件呢?
    carlosliu
        3
    carlosliu  
       Nov 15, 2015   ❤️ 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
    okcdz
        4
    okcdz  
    OP
       Nov 15, 2015
    @carlosliu 我写的不是网页,而是 nodejs 那是不是把 collections.ts 放在 collections.d.ts 同一目录下就可以了,而不用去 require
    carlosliu
        5
    carlosliu  
       Nov 15, 2015
    @okcdz 如果你使用 collections.ts 的話,就不需要 collections.d.ts 了。我沒用 typescript 做過 node.js 項目,你自己摸索試試。我猜是不需要 require 。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   4136 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 33ms · UTC 10:14 · PVG 18:14 · LAX 03:14 · JFK 06:14
    ♥ Do have faith in what you're doing.