编译TypeScript时能否将原始TS文件同步复制至dist目录?
解决方案
TypeScript的tsconfig.json本身只负责将TypeScript文件编译为JavaScript(或声明文件),无法直接配置复制原始.ts文件到输出目录,得通过额外步骤实现,下面是两种常用方案:
方案1:结合命令行复制命令
直接在package.json的脚本里,先执行tsc编译,再执行系统的文件复制命令:
- 适用于Mac/Linux:
"scripts": { "build": "tsc && cp -r src/**/*.ts dist/" }
- 适用于Windows:
"scripts": { "build": "tsc && xcopy src\\*.ts dist\\ /s /e" }
注:
/s /e参数表示递归复制所有子目录及空目录
方案2:使用跨平台文件复制工具
如果需要跨平台兼容(同时支持Windows/Mac/Linux),可以用copyfiles这类npm工具:
- 先安装依赖:
npm install copyfiles --save-dev
- 在
package.json中配置脚本:
"scripts": { "build": "tsc && copyfiles -u 1 src/**/*.ts dist/" }
-u 1参数表示移除文件路径中的第一层目录(即去掉src/前缀),让复制后的.ts文件和编译出的.js文件在dist目录下保持一致的目录结构。
内容的提问来源于stack exchange,提问作者JJ7907
相关产品推荐
相关产品推荐

