使用TypeScript NodeNext模块解析,如何导入同名knip模块?
解决NodeNext解析下knip.ts导入同名包的问题
当使用NodeNext模块解析策略时,TypeScript会优先匹配与导入包名同名的本地文件(即你的knip.ts),而非node_modules中的目标knip包。以下是无需修改文件名的解决方法:
方法一:配置tsconfig的paths映射
在tsconfig.json的compilerOptions中添加paths配置,强制将knip导入指向node_modules中的包:
{ "compilerOptions": { // 保留原有配置... "paths": { "knip": ["./node_modules/knip"] } } }
该配置会让TypeScript跳过本地同名文件,直接解析node_modules内的knip包。
方法二:直接导入包的类型入口文件
查看node_modules/knip/package.json中的types字段(通常指向类似dist/types/index.d.ts的路径),然后直接导入该路径:
import { type KnipConfig } from 'knip/dist/types';
这种方式绕开了同名文件的优先级问题,直接指定类型文件的具体位置。
内容的提问来源于stack exchange,提问作者Gajus
相关产品推荐
相关产品推荐

