首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >TypeScript中` `import `和` `import `区别

TypeScript中` `import `和` `import `区别
EN

Stack Overflow用户
提问于 2016-06-06 15:12:56
回答 1查看 6.9K关注 0票数 14

我使用node.js,最近我决定尝试一下TypeScript,但我对如何导入模块感到有点困惑。我看到了两种不同的语法,我找不到它们的确切区别:

代码语言:javascript
复制
import * as a from 'a'; // ES6 standard to import stuff
// OR ...
import a = require('a');

这是同一件事吗?如果它们不是,我应该在哪里使用它们呢?

EN

回答 1

Stack Overflow用户

发布于 2016-06-06 16:04:22

import * as a from 'a';是新的"ES6 style“导入语法(从TypeScript1.5开始可用)。

只要有可能,现在就应该使用此语法。

不过,有一点需要注意。ES6导入语法只能导入模块(由ES6定义)或对象(类、接口、变量... )作为模块的一部分导出。

一些Javascript库将直接导出函数或类,相应的定义文件通常如下所示:

代码语言:javascript
复制
declare module "my-class" {

    class MyClass { ... }

    export = MyClass
} 

在这种情况下,“旧的”导入语法是唯一可以使用的语法

代码语言:javascript
复制
import MyClass = require("my-class");

未使用此语法将导致错误TS2497

有关详细信息和可能的解决方法,请查看this issue。在前一种情况下,可以将空模块声明添加到定义文件中

代码语言:javascript
复制
declare module "my-class" {

    class MyClass { ... }

    module MyClass {} // <=

    export = MyClass
} 
票数 14
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37651495

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档