import type { App } from 'vue' 与 import { App } from 'vue' 区别
import type { App } from 'vue'
和 import { App } from 'vue'
在功能上有一些区别。
import { App } from 'vue'
是一个常规的 ES6 import 语句,它导入了Vue模块中定义的App
。在这种情况下,App
可以是任何可以导出的JavaScript实体,如函数、类、对象或变量。import type { App } from 'vue'
是 TypeScript 的特性,仅用于导入类型。在编译后的 JavaScript 代码中不会生成任何对应的引用代码。这意味着,如果你只需要使用一个模块(在这个例子中是 'vue')的类型,并不希望在最后编译出来的代码中包含这个模块,那就应该使用import type
。
简单来说,import type
仅在编译阶段有效,而 import
在运行时也有效。