【问题标题】:Export everything in Typescript Module Nodejs导出 Typescript Module Nodejs 中的所有内容
【发布时间】:2013-08-28 19:25:35
【问题描述】:

我只想导出 Typescript 模块中的所有内容,例如我声明一个这样的模块:

/// <reference path='../d.ts/DefinitelyTyped/node/node.d.ts' />
/// <reference path='../d.ts/DefinitelyTyped/express/express.d.ts' />
/// <reference path='../d.ts/DefinitelyTyped/mongoose/mongoose.d.ts' />

import express = require("express");
import mongoose = require("mongoose");

export module Users {

    export var users: Express = express();
    export var base_URL: string = "/users";

    users.get(base_URL, (req, res) => {
        res.render("index", {
            title: "Cheese cakes"
        });
    });
}

现在,如您所见,为了访问base_URLusers,我还需要明确导出它们。我能说什么,我想导出模块内的所有内容。

【问题讨论】:

    标签: node.js typescript


    【解决方案1】:

    默认情况下,模块内的项目是私有的,除非您 explicitly 导出它们。

    PS:在将 nodeJS 与 TypeScript 一起使用时,声明内部模块几乎没有优势。 nodeJS 中的每个文件都是一个模块,只有你 explicitly 导出的东西在导入位置可用。所以我会写:

    /// <reference path='../d.ts/DefinitelyTyped/node/node.d.ts' />
    /// <reference path='../d.ts/DefinitelyTyped/express/express.d.ts' />
    /// <reference path='../d.ts/DefinitelyTyped/mongoose/mongoose.d.ts' />
    
    import express = require("express");
    import mongoose = require("mongoose");
    
    export var users: Express = express();
    export var base_URL: string = "/users";
    
    users.get(base_URL, (req, res) => {
        res.render("index", {
            title: "Cheese cakes"
        });
    });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-06-22
      • 2021-08-26
      • 1970-01-01
      • 2022-01-17
      • 1970-01-01
      • 1970-01-01
      • 2016-05-29
      • 1970-01-01
      相关资源
      最近更新 更多