importsNotUsedAsValues作用

通过它可以来控制没被使用的导入语句将会被如何处理,它提供来三个不同的选项。

  • remove:这是默认 —— 移除未使用的导入语句
  • preserve:将会保留所有的导入语句,即使是从来没有被使用。
  • error:将会保留所有的导入语句(与 preserve 选项相同),但是当一个值的导入仅仅用于类型时将会抛出错误。

示例

如下代码, Test 是一个类型 ,引入的三个值中只有 getAge 被使用了

import { Test } from './a';
import { getName, getAge } from './utils';

console.log(getAge);

编译后的结果

remove 编译后的

import { getAge } from './utils';

console.log(getAge);

preserve 编译

import './a'
import { getAge } from './utils'

console.log(getAge)

error 编译与 preserve 编译效果一致

error 配置什么时候会触发呢

如下代码使用

import { Test } from './a';

const name: Test = {
	name: 'str'
};

当使用 importsNotUsedAsValues: error 时,tsc 编译出现报错如下

根据报错提示,可以知道当我们导入的是一个类型时需要使用 import type 去替代 import,改成如下代码即可

import type { Test } from './a';

const name: Test = {
	name: 'str'
};
Logo

基于 Vue 的企业级 UI 组件库和中后台系统解决方案,为数万开发者服务。

更多推荐