为什么不总是需要导出从typescript命名空间导出成员?

时间:2018-05-10 00:50:22

标签: typescript

我对typescript命名空间中的export感到困惑。从我的阅读和测试,如果没有从命名空间导出值定义,它在该命名空间之外是不可见的,除了我正在查看快递包index.d.ts文件并且它不导出json,并且但这有效:

import * as express from 'express';
const app = express();
app.use(express.json());

快递index.d.ts(为简洁起见编辑):

import * as bodyParser from "body-parser";
import serveStatic = require("serve-static");
import * as core from "express-serve-static-core";

declare function e(): core.Express;

declare namespace e {
    var json: typeof bodyParser.json;
    export function Router(options?: RouterOptions): core.Router;
}

export = e;

请注意.d.ts文件中var json不是export var json,但有些内容会像export function Router一样导出。

为什么访问express.json是有效的,既然如此,为什么需要导出function Router

0 个答案:

没有答案