node.js - 导出 Typescript 模块 Nodejs 中的所有内容

标签 node.js typescript

我只想导出 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,我还需要显式导出它们。我该怎么说,我想导出模块内的所有内容。

最佳答案

默认情况下,模块内的项目是私有(private)的,除非您显式导出它们。

PS:在使用 NodeJS 和 TypeScript 时声明内部模块几乎没有什么优势。 NodeJS 中的每个文件都是一个模块,只有您显式导出的内容在导入位置可用。所以我会写:

/// <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"
    });
});

关于node.js - 导出 Typescript 模块 Nodejs 中的所有内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18441868/

相关文章:

node.js - ts2304 找不到名称 'OnInit'

html - PrimeNG p-checkbox - 在标签后添加星号强制符号

javascript - 如何使用 typescript 将参数传递给 addEventListener 监听器函数?

javascript - 返回值后多次调用 ngrx 效果

node.js - 聚合 mongoose nodejs $match 不起作用

javascript - NodeJS中如何接收来自jquery的post数据

linux - Nodejs 服务器套接字运行到 256 个最大连接

javascript - 将 TypeScript 文件内的 "function"调用为 HTML

typescript - 将带有任意/通用 Prop 的组件传递给 TypeScript 中的 react-redux 连接函数

node.js - Sequelize 4.42.0 : Setting an instance method returns "not a function" error