TS 如何清除空的 JS 文件

我有这样的目录结构:

project
└ dist
└ src
   └ interface              // 声明类型
      └ user.ts
      └ message.ts
      └ chat.ts
   └ interface.ts           // 汇总导出
   └ util.tsmain.ts

tsc 编译时,把 src 目录中的代码编译输出到 dist 目录中。
由于 src/interface 目录下所有文件都只导出类型,所以编译后产生了空的 JS 文件:

Object.defineProperty(exports, '__esModule', { value: true });

输出结构:

project
└ dist
   └ interface
      └ user.js              // 只声明 ES Module
      └ user.d.ts
      └ message.js      // 只声明 ES Module
      └ message.d.ts
      └ chat.js              // 只声明 ES Module
      └ chat.d.ts
   └ interface.js          // 只声明 ES Module
   └ interface.d.ts
   └ util.js
   └ util.d.tsmain.jsmain.d.tssrc

如何在编译时清除这些没用的文件?

可以在tsconfig.json文件中配置"declaration": false,这样在编译时就会忽略掉所有的声明文件,从而清除掉没用的文件。具体的方法是什么 在tsconfig.json文件中添加"declaration": false即可,示例如下: { "compilerOptions": { "declaration": false } }