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

如何在自定义NX Executor中调用@nx/esbuild Executor

在自定义Nx Executor中调用@nx/esbuild执行器

实现方案

1. 核心要点

要在自定义Executor里调用@nx/esbuild的执行器,需要注意两个关键:

  • 必须传递完整的context参数给esbuildExecutor,它依赖上下文信息定位项目、读取工作区配置
  • 处理esbuildExecutor的返回结果,根据执行状态决定是否继续后续自定义逻辑

2. 完整代码示例

import { esbuildExecutor, EsbuildExecutorOptions } from '@nx/esbuild';
import type { ExecutorContext } from '@nx/devkit';

// 让自定义选项继承esbuild的所有配置项,无需重复定义
export interface EchoExecutorOptions extends EsbuildExecutorOptions {
  // 可添加你的自定义配置字段
}

export default async function echoExecutor(
  options: EchoExecutorOptions,
  context: ExecutorContext
): Promise<{ success: boolean }> {
  console.info(`Executing "echo"...`);

  // 调用esbuild执行器,传入完整参数
  const esbuildResult = await esbuildExecutor(options, context);

  // 校验esbuild执行结果,失败则直接返回
  if (!esbuildResult.success) {
    console.error('Esbuild执行失败,终止后续逻辑');
    return { success: false };
  }

  // 执行你的自定义逻辑
  console.info('Esbuild执行完成,开始运行自定义逻辑...');
  // 示例:复制静态资源、生成额外文件等自定义操作
  // your custom code here

  return { success: true };
}

3. 注意事项

  • 确保自定义选项接口继承EsbuildExecutorOptions,这样可以直接复用原有的esbuild配置参数,无需手动重新定义所有选项
  • 不要省略context参数,否则esbuildExecutor无法正确获取项目根路径、工作区配置等关键信息
  • 优先处理esbuild的执行结果,避免在构建失败的情况下执行无效的自定义逻辑

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.16 06:00:59