如何让TypeScript剔除仅用于类型提示的turf.js通配符导入?
如何让TypeScript仅将turf.js导入用于类型提示(不编译到输出文件)
你可以用TypeScript 3.8及以上版本支持的**类型专属导入(Type-Only Imports)**来解决这个问题,语法如下:
import type * as turf from '@turf/turf';
这种导入方式会被TypeScript仅当作类型信息处理,编译生成.js文件时会自动移除这条导入语句,不会导致浏览器尝试加载npm包版本的turf.js,同时保留VS Code里的类型提示功能。
如果你的项目TypeScript版本较低不支持类型专属导入,还可以通过创建全局类型声明文件的方式替代:
- 在项目里新建一个类型声明文件(比如
src/turf.d.ts) - 写入以下内容:
declare var turf: typeof import('@turf/turf');
之后就不用在代码里导入turf,直接使用全局变量turf就能获得完整的类型提示,编译后也不会产生多余的导入代码。
内容的提问来源于stack exchange,提问作者crashed99
相关产品推荐
相关产品推荐

