tsconfig之importsNotUsedAsValues属性
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
};
