const fs = require('fs') const { exec } = require('child_process') const { resolve, join } = require('path') const args = process.argv.slice(2) console.log(args.map((arg) => arg)) const userOptions = {} args.forEach((arg) => { const [key, value] = arg.split(':') if (key === 'package') { userOptions[key] = value.replaceAll('、', ',') } else { userOptions[key] = value } }) console.log('读取脚本参数中 🤬') console.log(userOptions.logo ? '去掉logo...' : '保留logo...') const rootPath = join(__dirname, '..') const AppConfigFs = fs.readFileSync(resolve(rootPath, 'config/defaultSetting.ts'), 'utf8') const AppConfigFsr = AppConfigFs.replace( `export default { appName: '蛟龙云', userInfoHidden: false, documentIco: '', logoExpand: require('@/static/logo-big.png'), logoContract: require('@/static/logo.png'), logout: '' }`, `export default { appName: '', userInfoHidden: true, documentIco: '', logoExpand: '', logoContract: '', logout: '' }` ) fs.writeFileSync(resolve(rootPath, 'config/defaultSetting.ts'), AppConfigFsr, 'utf-8') console.log('打包' + userOptions.package + '等模块中') console.log('打包至' + userOptions.platform + '平台') const file = fs.readFileSync(resolve(rootPath, 'src/router/index.ts'), 'utf8') const r = file.replace( 'const _routes = [iot, schedule, view, lowcode, user, login]', `const _routes = [${userOptions.package}]` ) console.log('修改路由值成功 🌹') fs.writeFileSync(resolve(rootPath, 'src/router/index.ts'), r, 'utf-8') console.log('开始打包 📦') console.log('打包中...... 💪') if (userOptions.platform === 'web') { exec('npm run build', (error, stdout, stderr) => { if (error) { console.error(`执行脚本时出错:${error}`) fs.writeFileSync(resolve(rootPath, 'src/router/index.ts'), file, 'utf-8') } else { console.log('打包成功 🎉') fs.writeFileSync(resolve(rootPath, 'src/router/index.ts'), file, 'utf-8') } }) } else { exec(`electron . ${userOptions.platform}`) }