打字稿导入类型

时间:2018-03-15 09:37:50

标签: typescript

我无法找到对tpescript导入的良好描述。

此导入类型有什么区别?

  • import { Country } from '../../models/country.model.ts'; 这似乎很正常。您导入项目ts文件的导出类/接口

  • import * as mapsData from 'blablabla/world.js'; 在这种情况下,我直接引用了一个js文件吗?这可能吗?有一些先决条件吗?这不使用allowJs标志。

  • import something from 'path' 为什么这种情况我不使用括号?

1 个答案:

答案 0 :(得分:2)

我将尝试使用示例解释

假设我们有2个文件,exp.tsimp.ts

// exp.ts
export const A = 1;
export default 2;
// imp.ts
import {A} from "./exp";
import * as B from "./exp";
import C from "./exp";

console.log(A)
console.log(B)
console.log(C)

执行imp.ts会给出结果

1
{ A: 1, default: 2 }
2

为什么?

import {A} from "./exp"; - 将命名元素导入为变量

import * as B from "./exp"; - 导入所有导出的元素并将其保存到变量

import C from "./exp"; - 导出default导出并将其保存到变量,这相当于import {default as C} from "./exp";