h5_for_electron.build.linux.arm.js 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. // 执行脚本 taro build --type h5 ,并且把环境变量 TARO_API_URL 传递过去
  2. const { execSync } = require('child_process');
  3. const fs = require('fs');
  4. const path = require('path');
  5. const TARO_API_URL = 'http://localhost:6001'; // 远程地址,这里写死,要做成部署后可配置
  6. const TARO_MQTT_URL ='ws://localhost:8083/mqtt';
  7. const rootDir = path.join(__dirname, '..'); // 项目根目录
  8. execSync(`npm run build:h5`, { cwd: rootDir, stdio: 'inherit', env: { ...process.env, TARO_API_URL ,TARO_MQTT_URL} }, (error, stdout, stderr) => {
  9. if (error) {
  10. console.error(`Error executing command: ${error.message}`);
  11. return;
  12. }
  13. if (stderr) {
  14. console.error(`Command stderr: ${stderr}`);
  15. return;
  16. }
  17. console.log(`Command stdout: ${stdout}`);
  18. });
  19. function run(cmd) {
  20. console.log(`\n>>> ${cmd}`);
  21. try {
  22. execSync(cmd, { stdio: 'inherit', cwd: process.cwd() });
  23. } catch (e) {
  24. console.error(`命令失败: ${cmd}`, e.message);
  25. exit(1);
  26. }
  27. }
  28. try {
  29. // run('npm run build:h5');
  30. // run('npm run prebuild:arm:linux');
  31. fs.copyFileSync(
  32. path.join(rootDir, '.build', 'taro.linux-arm64-gnu.node'),
  33. path.join(rootDir, 'node_modules', '@tarojs', 'binding', 'taro.linux-arm64-gnu.node')
  34. );
  35. // run('npm run build:electron:win');
  36. run('npm run build:electron:linux');
  37. console.log('\n✅ 全部构建完成');
  38. } catch (err) {
  39. console.error('Failed to execute :', err.message);
  40. process.exit(1);
  41. }