V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐关注
Meteor
JSLint - a JavaScript code quality tool
jsFiddle
D3.js
WebStorm
推荐书目
JavaScript 权威指南第 5 版
Closure: The Definitive Guide
posebear1990
V2EX  ›  JavaScript

Typescript 自己写的 d.ts 文件,如何避免多个文件中引入?

  •  
  •   posebear1990 · 2018-04-12 10:41:40 +08:00 · 9117 次点击
    这是一个创建于 2408 天前的主题,其中的信息可能已经有所发展或是发生改变。
    刚开始写 typescript,感觉 typescript 的类型文件的引入好乱啊。
    现在遇到的问题就是,自己写了个 d.ts 文件,用什么方式可以避免每个文件里都要用注释的方式引入?
    /// <reference path="../wx.d.ts" />
    有没有办法让他全局(所有的 ts 文件里)默认生效?
    6 条回复    2018-04-12 12:03:31 +08:00
    jsq2627
        1
    jsq2627  
       2018-04-12 10:51:00 +08:00
    可以指定 tsc 或者 tsconfig.json 的 typeRoots / types 选项

    https://www.typescriptlang.org/docs/handbook/tsconfig-json.html#types-typeroots-and-types
    KuroNekoFan
        2
    KuroNekoFan  
       2018-04-12 10:51:42 +08:00 via iPhone
    为什么要用 dts,如果你本身编写的是.ts ,那是不需要用 dts 的啊
    jsq2627
        3
    jsq2627  
       2018-04-12 10:59:19 +08:00
    @KuroNekoFan 目测楼主是给微信 JSSDK 写.d.ts
    posebear1990
        4
    posebear1990  
    OP
       2018-04-12 11:57:30 +08:00
    @jsq2627 谢谢,types 选项的话应该是项目里所有用到的 type 都要指定了吧。
    然后我新发现,只要我把 .d.ts 文件丢到项目里,vscode 就可以读到这个文件,所以不引用似乎也无所谓了(好奇之前怎么没发现)。
    确实是微信 JSSDK,这都能猜到。
    janxin
        5
    janxin  
       2018-04-12 12:02:35 +08:00
    @posebear1990 #4 wx.d.ts...
    jsq2627
        6
    jsq2627  
       2018-04-12 12:03:31 +08:00
    @posebear1990 types 选项只对声明全局变量的 .d.ts 有意义,比如 jQuery 这种。对于声明成模块的 .d.ts 没效果。如果你的项目引入了 webpack 这类工具,启用包管理的话,types 选项不影响 import 进来的模块。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2664 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 36ms · UTC 15:48 · PVG 23:48 · LAX 07:48 · JFK 10:48
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.