You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何让esbuild编译server目录下所有子文件夹的.ts文件?

解决esbuild遍历Fastify项目server目录所有子文件夹的问题
  • 简化glob匹配模式:你不需要重复写多层server/**/**/*.ts,单个server/**/*.ts就能匹配server目录下任意层级子文件夹中的所有.ts文件。修改后的命令为:

    esbuild server/**/*.ts --bundle --platform=node --outdir=dist
    
  • 适配@fastify/autoload的动态加载场景:由于@fastify/autoload是运行时动态加载文件,esbuild的静态分析无法自动识别这些未被主入口导入的文件。通过server/**/*.ts将所有.ts文件作为编译入口,就能确保这些动态加载的文件被全部编译到dist目录中。

  • 使用配置文件更高效(可选):可以创建esbuild.config.js来管理编译配置,避免每次输入长命令:

    require('esbuild').build({
      entryPoints: ['server/**/*.ts'],
      bundle: true,
      platform: 'node',
      outdir: 'dist',
      // 保留原目录结构,适配autoload的路径查找逻辑
      entryNames: '[dir]/[name]'
    }).catch(() => process.exit(1))
    

    运行时只需执行:

    node esbuild.config.js
    

内容的提问来源于stack exchange,提问作者Charklewis

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.18 17:05:42