publish.cjs 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. const fs = require('fs')
  2. const publish = () => {
  3. const src = './dist/build/h5'
  4. const dest = '../niucloud/public/wap'
  5. solve()
  6. // 目标目录不存在停止复制
  7. try {
  8. const dir = fs.readdirSync(dest)
  9. } catch (e) {
  10. return
  11. }
  12. // 删除目标目录下文件
  13. fs.rm(dest, { recursive: true }, err => {
  14. if(err) {
  15. console.log(err)
  16. return
  17. }
  18. fs.cp(src, dest, { recursive: true }, (err) => {
  19. if (err) {
  20. console.error(err)
  21. }
  22. })
  23. })
  24. }
  25. const solve = () => {
  26. const src = './dist/build/h5/assets'
  27. const filemaps = fs.readdirSync(src)
  28. filemaps.forEach(file => {
  29. if (/^(index-)(\w{8})(.js)$/.test(file)) {
  30. const path = `${src}/${file}`
  31. let content = fs.readFileSync(path, 'utf-8')
  32. const first = 'const match = location.href.match(/\\/wap\\/(\\d*)\\//);'
  33. if (content.indexOf(first) == -1) {
  34. content = first + content
  35. const replace = 'router:{mode:"history",base: match ? `/wap/${match[1]}/` : "/wap/",assets:"assets",routerBase: match ? `/wap/${match[1]}/` : "/wap/"},darkmode'
  36. content = content.replace(/router:{(.*?)},darkmode/s, replace)
  37. fs.writeFileSync(path, content, 'utf8')
  38. }
  39. }
  40. })
  41. }
  42. publish()