Skip to content

🎯 ExecuteScript

执行 composer.json 中定义的脚本,等价于执行 composer run <script>

何时使用

当你需要简单直接地触发一个已定义的脚本、且无需透传额外参数时使用。它与 RunScript 的区别在于使用的是 composer run 命令,且不接受可变参数。

签名

go
func (c *Composer) ExecuteScript(scriptName string) (string, error)

参数

参数类型说明
scriptNamestring要执行的脚本名称,需在 composer.jsonscripts 中定义

返回值

返回值类型说明
第一返回值string命令执行的标准输出
第二返回值error执行过程中发生错误时返回,nil 表示成功

示例

go
package main

import (
	"fmt"
	"log"

	"github.com/scagogogo/composer-skills/pkg/composer"
)

func main() {
	comp, err := composer.New(composer.DefaultOptions())
	if err != nil {
		log.Fatalf("初始化失败: %v", err)
	}

	// 执行部署脚本
	output, err := comp.ExecuteScript("deploy")
	if err != nil {
		log.Fatalf("执行脚本失败: %v", err)
	}
	fmt.Println(output)
}

进阶

  • 需要向脚本透传命令行参数时,使用 RunScriptcomposer run-script ... -- <args>)。
  • 想列出所有可用脚本,使用 ListScripts
  • 想在 composer.json 里新增脚本定义,可使用 AddScript 方法。

基于 MIT 许可证发布