1234567891011121314151617181920212223242526272829303132333435363738394041 |
- // 执行脚本 taro build --type h5 ,并且把环境变量 TARO_API_URL 传递过去
- const { execSync } = require('child_process');
- const path = require('path');
- const fs = require('fs');
- const TARO_API_URL = 'http://localhost:6001'; // 远程地址,这里写死,要做成部署后可配置
- const TARO_MQTT_URL ='ws://localhost:8083/mqtt';
- const rootDir = path.join(__dirname, '..'); // 项目根目录
- try {
- // 打印当前平台信息和CPU架构信息
- console.log(`当前操作系统平台: ${process.platform}`);
- console.log(`当前CPU架构: ${process.arch}`);
-
- // 检测平台和CPU架构,只有当操作系统是linux且CPU架构是arm64时才执行复制行为
- if (process.platform === 'linux' && process.arch === 'arm64') {
- console.log(`复制arm平台必须构建文件taro.linux-arm64-gnu.node到目标位置`);
- fs.copyFileSync(
- path.join(rootDir, '.build', 'taro.linux-arm64-gnu.node'),
- path.join(rootDir, 'node_modules', '@tarojs', 'binding', 'taro.linux-arm64-gnu.node')
- );
- console.log(`复制arm平台必须构建文件taro.linux-arm64-gnu.node到目标位置===完成`);
- }
-
- execSync(`npm run build:h5`, { cwd: rootDir, stdio: 'inherit', env: { ...process.env, TARO_API_URL ,TARO_MQTT_URL} }, (error, stdout, stderr) => {
- if (error) {
- console.error(`Error executing command: ${error.message}`);
- return;
- }
- if (stderr) {
- console.error(`Command stderr: ${stderr}`);
- return;
- }
- console.log(`Command stdout: ${stdout}`);
- });
- console.log('\n✅ h5 for production 全部构建完成');
- } catch (err) {
- console.error('Failed to execute :', err.message);
- process.exit(1);
- }
|