Should TypeScript Interfaces Be Defined in *.d.ts Files

前端 未结 3 1230
我在风中等你
我在风中等你 2021-02-04 00:00

TypeScript newbie question. In our project, we are using some external JavaScript libraries where we needed to add *.d.ts files. I understand this use case and the reason why we

3条回答
  •  情深已故
    2021-02-04 01:00

    Declaration files describe the shape of external JavaScript libraries. For example using jQuery with $ will result in a TypeScript error without declaration files, because $ or JQuery is undefined. Therefor a declaration file creates an interface, so the compiler knows "if this variable is of type JQuery it must have the functions x,y,z"

    When creating interfaces for your project, you should put them where ever you like: Within one big interface-file, within an individual file for each interface, or within the file where it may belong to, BUT within a declaration file would be very inconvenient.

    Personally i like to have individual files for each module/class/interface. But its just a matter of taste.

    The only thing considering creating a declaration file is to give other developers the possibility to use you final JavaScript file(not TypeScript!) in their project.

提交回复
热议问题