uni-app 监听Hbuildx中运行或发布命令并获取参数实现功能

发布于 1周前 作者 htzhanglong 来自 Uni-App

uni-app 监听Hbuildx中运行或发布命令并获取参数实现功能

插件需求 监听Hbuildx中运行或者是发布命令,以及获取参数来实现在打包后copy某些文件到指定的目录中

信息类型 信息
开发环境 Hbuildx
版本号 未提及
项目创建方式 未提及
1 回复

在uni-app中监听HBuilderX中的运行或发布命令并获取参数,可以通过自定义脚本和任务配置来实现。以下是一个实现该功能的代码案例,展示如何在HBuilderX中配置自定义脚本,并在uni-app项目中监听这些命令和参数。

步骤1:配置HBuilderX自定义任务

  1. 打开HBuilderX,进入“运行” -> “运行配置”。
  2. 点击“添加自定义命令”,配置一个自定义任务,例如命名为myCustomCommand
  3. 在任务中,可以添加参数。例如,可以添加一个参数--mode,并设置默认值为development
{
    "name": "myCustomCommand",
    "script": "npm run my-script -- --mode=${input:mode}",
    "description": "My Custom Command",
    "inputs": [
        {
            "id": "mode",
            "type": "string",
            "label": "Mode",
            "value": "development",
            "placeholder": "Enter mode (e.g., development, production)"
        }
    ]
}

步骤2:在uni-app项目中编写脚本

package.json中添加一个新的脚本命令my-script,该命令将调用一个自定义的Node.js脚本,例如scripts/myScript.js

"scripts": {
    "my-script": "node scripts/myScript.js"
}

步骤3:编写自定义脚本

scripts/myScript.js中,通过process.argv获取命令行参数,并根据这些参数执行相应的功能。

const args = process.argv.slice(2);
let mode = 'development'; // 默认模式

args.forEach(arg => {
    if (arg.startsWith('--mode=')) {
        mode = arg.split('=')[1];
    }
});

console.log(`Running in mode: ${mode}`);

// 根据mode执行不同的功能
if (mode === 'development') {
    console.log('Development mode tasks...');
    // 执行开发模式下的任务,例如启动开发服务器
} else if (mode === 'production') {
    console.log('Production mode tasks...');
    // 执行生产模式下的任务,例如构建项目
} else {
    console.warn(`Unknown mode: ${mode}`);
}

总结

通过上述步骤,你可以在HBuilderX中配置自定义命令和参数,并在uni-app项目中通过Node.js脚本监听这些命令和参数。这种方法允许你根据不同的运行或发布需求执行不同的任务,从而实现灵活的功能定制。在实际项目中,你可以根据需求扩展脚本的功能,例如启动不同的服务、执行构建任务或调用其他工具链命令。

回到顶部