[Typescript] Declare Module

https://www.typescriptlang.org/docs/handbook/modules.html#ambient-modules

Example for declare node.js "url" & "path" module:

node.d.ts

declare module "url" {
  export interface Url {
    protocol?: string;
    hostname?: string;
    pathname?: string;
  }
  export function parse(
    urlStr: string,
    parseQueryString?,
    slashesDenoteHost?
  ): Url;
}
declare module "path" {
  export function normalize(p: string): string;
  export function join(...paths: any[]): string;
  export var sep: string;
}

 

Then we can add below code to the file

/// <reference path="node.d.ts"/>

Then we can import those modules and using it:

/// <reference path="node.d.ts"/>
import * as URL from "url";
// import url = require("url")
let myUrl = URL.parse("https://www.typescriptlang.org");

 

 

Shorthand ambient modules

If you don’t want to take the time to write out declarations before using a new module, you can use a shorthand declaration to get started quickly.

declarations.d.ts
declare module "hot-new-module";

 

All imports from a shorthand module will have the any type.

import x, { y } from "hot-new-module";
x(y);

 

posted @   Zhentiw  阅读(551)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
历史上的今天:
2020-10-25 [Functional Programming] Use the Callback and Closure Pattern to Build Advanced Async Behaviors [Full code]
2020-10-25 [Javascript] Broadcaster + Operator + Listener pattern -- 11. Customize the done logic
2020-10-25 [Javascript] Broadcaster + Operator + Listener pattern -- 10. Define a Function to Set Common Behaviors in Operators
2020-10-25 [Functional Programming] Start With the API You Want Then Implement
2020-10-25 [Javascript] Broadcaster + Operator + Listener pattern -- 9. Create modify, filter, map operators
2019-10-25 [Schematics] 1. Copy and Manipulate Template
2019-10-25 [Schematics] 0. Schematics "Hello World"
点击右上角即可分享
微信分享提示