【问题标题】:Is it possible to include a NodeJS module in a TypeScript Project with "import"是否可以通过“导入”在 TypeScript 项目中包含 NodeJS 模块
【发布时间】:2013-12-13 02:33:28
【问题描述】:

我正在将我的 NodeJS + ExpressJS 项目转换为 typescript,并且我从 https://github.com/borisyankov/DefinitelyTyped 获得了 ExpressJS 的 Typescript 定义。

在 Typescript 之前,我使用“require”语句导入 Express

var express = require("express")

不,我需要以可以使用 Typescript 语法和功能的方式导入它,同时确保 Typescript 编译器将其编译为上面显示的语句。这是我写的代码:

/// <reference path="express.d.ts" />
import express = require("express");
var app = express.express();
app.use(express.logger());

但这会引发错误:Unresolved function or method express() at:

var app = express.express();

【问题讨论】:

  • 定义文件是否尚未声明express 命名空间?也许这会导致命名冲突?
  • 这里有 express 命名空间。但是里面没有 express() 函数。我已经手动添加了,现在似乎可以工作了。

标签: express typescript


【解决方案1】:

我认为应该是:

import express = require('express');
var app = express();

查看示例:https://github.com/borisyankov/DefinitelyTyped/blob/master/express/express-tests.ts#L3-L4

【讨论】:

  • 您好,您将我指向“express-tests.ts”,而我正在使用“express.d.ts”。有什么不同?我应该将哪一个添加到我的项目中?我最终得到了这个工作,但我不得不手动将“express()”函数添加到 express.d.ts 文件中。
  • 你应该导入express.d.ts。文件express-tests.ts 向您展示了如何在您自己的应用程序中使用express.d.ts
猜你喜欢
  • 2012-10-09
  • 2021-11-28
  • 2020-11-17
  • 1970-01-01
  • 2019-05-25
  • 1970-01-01
  • 2013-05-03
  • 2016-07-30
  • 2014-04-18
相关资源
最近更新 更多