【问题标题】:Typescript import types打字稿导入类型
【发布时间】:2018-03-15 09:37:50
【问题描述】:

我找不到 tpescript 导入的详细描述。

这种导入类型有什么区别?

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

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

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

【问题讨论】:

  • 您不需要包含文件扩展名。诀窍是在 tsconfig.json 文件中包含 allowJS。默认选项是false。参考:typescriptlang.org/docs/handbook/compiler-options.html
  • import something from 'path' 表示这个模块default export. 没有'./path',你指的是模块而不是本地文件。

标签: typescript


【解决方案1】:

我会尝试用例子来解释

假设我们有 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";

【讨论】:

    猜你喜欢
    • 2019-04-11
    • 2012-12-26
    • 2018-05-24
    • 2019-11-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-04
    • 1970-01-01
    相关资源
    最近更新 更多