【问题标题】:how to import / require standard node modules in typescript?如何在打字稿中导入/要求标准节点模块?
【发布时间】:2016-06-14 18:32:06
【问题描述】:

在 typescript 和标准 NPM 模块中使用 require 的最佳方式是什么? 我正在尝试使用 debug 包。 我已经从 npm 安装 还有tsd install debug

但是,相同的语法在一个文件中是可以的,但在另一个文件中则不行。 我猜这是加载顺序的事情,TS认为我在重新声明一个变量?

let debug = require("debug")("async-test");
# ReferenceError: debug is not defined

debug = require("debug")("async-test");
# ReferenceError: debug is not defined

左/右面板(不同文件)上的相同代码将显示错误/不。

【问题讨论】:

  • 尝试import * as debug from "debug"; 然后const test = debug("async-test"); 仍然会出现错误吗?

标签: import typescript require


【解决方案1】:

在 typescript 和标准 NPM 模块中使用 require 的最佳方式是什么?

试试typings。它有很好的debug 定义https://github.com/typed-typings/npm-debug

npm install typings -g
typings install debug 

然后设置你的tsconfig.json:https://github.com/typings/typings#maindts-and-browserdts

现在你可以这样做了:

import debug = require('debug')

具有完整的类型安全性?

【讨论】:

  • 我遇到了这个问题,但错误是 TS2307: Cannot find module 'debug' ... 这是 TypeScript 2.0 并且打字已经到位。知道为什么我会收到这条消息吗?
猜你喜欢
  • 2022-01-14
  • 2017-02-21
  • 2021-12-25
  • 2021-08-20
  • 1970-01-01
  • 2015-03-07
  • 1970-01-01
  • 1970-01-01
  • 2013-02-25
相关资源
最近更新 更多