在Typescript中导入/导出

时间:2017-09-11 16:33:33

标签: visual-studio typescript

我有一个现有的Node.js(仅限节点,没有Typescript)应用程序,其中包含以下文件(由Visual Studio Node模板生成):

在档案app.js中:

var express = require("express");
var app = express();
...
module.exports = app;

在档案socket.js中:

module.exports = function (server,app) {
   // ....
}

在档案www中:

var app = require("../app");
var server = app.listen(app.get(8081), function() {
});
var sockets = require("../routes/sockets")(server, app);

我没有将它迁移到Typescript。如何将上述导出/需要转换为Typescript中的等效项?

在哪里可以找到importexport关键字的正确规格?我无法找到他们的意思和做法的文件。我确实看到了很多使用它们的排列的例子。

1 个答案:

答案 0 :(得分:0)

要确保将import语句转换为require(),您需要指定在TypeScript编译期间使用commonjs模块。这是tsconfig.json的一个例子:

{
  "compilerOptions": {
    "module": "commonjs",
    "outDir": "build",
    "target": "es5"
  }
}

以下是TypeScript中Node / Express服务器的示例:

import * as express from "express";
const app = express();

app.get('/products', (req, res) => res.send('Got a request for products'));

const server = app.listen(8000, "localhost", () => {

    const {address, port} = server.address();

    console.log('Listening on %s %s', address, port);
});