【问题标题】:TypeScript: Can I mix using "import * from" and "require(*)"TypeScript:我可以混合使用“import * from”和“require(*)”吗
【发布时间】:2016-08-04 04:20:09
【问题描述】:

在 TypeScript 中混合这些“包含”类型是否可以?

import { SomeType, someFunc } from "./MyThings";

还有:

import events = require('events');

第一个是带有一个或两个导出的 TypeScript 模块......第二个只是一个称为事件的节点模块(我想这也可能是从 NPM 中提取的任何东西)。

我可以将这两种约定混合在一个 TypeScript 文件中吗?

【问题讨论】:

  • 可以,但不应该。
  • @Bergi - 你能解释一下为什么吗?
  • 这可能会造成混淆。它会起作用,因为它最终会编译成相同的,但您应该以一致性为目标,每个项目(或至少每个文件)只使用一种样式。

标签: javascript node.js typescript


【解决方案1】:

是的,这在 TypeScript 中是可以接受的。

使用import foo = require('foo'); 时,您必须有一个用declare module 'foo' 声明的模块'foo',通常在.d.ts 文件中。

这通常包含在node.d.ts 中。

【讨论】:

  • 我可以使用 import foo = require('foo');如果 foo 是一个带有“导出默认类 Foo”的 TypeScript 文件 (foo.ts)?
  • 不,我认为在这种情况下你不能。
  • 如果我不能使用 import foo = require('foo'); 我将如何将该模块包含在另一个文件中正确的语法是什么?
  • 你可以用require const foo = require('foo');(或其他声明)
猜你喜欢
  • 2016-10-05
  • 1970-01-01
  • 2020-05-20
  • 2021-12-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-09-27
  • 1970-01-01
相关资源
最近更新 更多