Typescript+Gulp依赖查找失败及兼容性疑问技术咨询
问题解答
1. 为啥找不到utils.ts文件?
- 核心问题就是你导入路径的后缀写错了:你在
test.ts里写的是import hello from './components/utils.js',但实际存在的文件是utils.ts。 - 你用的Gulp打包工具链(比如结合了browserify这类模块打包插件)会严格按你写的后缀查找文件,不会自动把
.js映射到.ts上。哪怕Typescript本身允许省略后缀,Gulp的插件是独立处理模块解析的,必须匹配实际文件的后缀,或者给插件配置自动识别.ts后缀的规则。
2. Gulp和Typescript不兼容?为啥配置这么麻烦?
- 完全兼容,问题出在你没搞对工具链和配置逻辑,不是两者不兼容。
- 之前用jQuery的问题,正确做法是安装
@types/jquery获取类型定义,直接import $ from 'jquery'就行,根本不用花10小时折腾。 - Gulp只是个任务调度工具,本身不处理Typescript编译,你得搭配对应的插件:
- 纯编译TS用
gulp-typescript,直接读取tsconfig配置即可; - 要打包成单文件处理依赖的话,用
tsify(搭配browserify)或者@rollup/plugin-typescript(搭配rollup),这些插件能正确处理TS的模块导入。
- 纯编译TS用
- 所谓“配置难”,其实是你没理清插件分工:Gulp负责调度任务流程,编译、模块解析是对应插件的工作,选对插件并按文档配置,问题就能解决。
内容的提问来源于stack exchange,提问作者arachacha
相关产品推荐
相关产品推荐

