addVersion.js 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. /* eslint-disable */
  2. var fs = require('fs')
  3. var path = require('path')
  4. // 例子
  5. // [
  6. // 'res://app2-jytest.jianyu360.cn/jyapp/local/vue.min.js',
  7. // 'res://app2-jytest.jianyu360.cn/jyapp/local/vue-router.min.js',
  8. // 'res://app2-jytest.jianyu360.cn/jyapp/local/vuex.min.js',
  9. // 'res://app2-jytest.jianyu360.cn/jyapp/local/axios.min.js',
  10. // 'res://app2-jytest.jianyu360.cn/jyapp/local/js.cookie.min.js',
  11. // 'res://app2-jytest.jianyu360.cn/jyapp/local/vant.min.js',
  12. // 'res://app2-jytest.jianyu360.cn/jyapp/local/echarts.min.js',
  13. // 'res://app2-jytest.jianyu360.cn/jyapp/local/moment.min.js',
  14. // ]
  15. var config = {
  16. projectPath: path.resolve(__dirname),
  17. filePath: '/page_entniche/',
  18. templateName: 'index.html',
  19. urlLocal: '/jyapp/local',
  20. output: [
  21. {
  22. origin: 'res://app-i1.jianyu360.com',
  23. fileName: 'index_i1.html'
  24. },
  25. {
  26. origin: 'res://app2-jytest.jianyu360.cn',
  27. fileName: 'index_app2.html'
  28. }
  29. ]
  30. }
  31. fs.readFile(`${config.projectPath}${config.filePath}${config.templateName}`, 'utf8', function(err, files) {
  32. config.output.forEach(function (item, index) {
  33. let replaced = files.replace(new RegExp(`${config.filePath}`, 'g'), `${item.origin}${config.filePath}`)
  34. // 在文件中部分 标签 前加换行,避免被正则贪婪匹配全部匹配到
  35. replaced = replaced.replace(/(<[a-z])/g, `\n$1`)
  36. replaced = replaced.replace(/script(.*?)src=\/(.*)\/(.*).min.js/g, `script$1src=${item.origin}${config.urlLocal}/$3.min.js`)
  37. // 将前面添加的换行去掉
  38. replaced = replaced.replace(/\n/g, '')
  39. fs.writeFileSync(`${config.projectPath}${config.filePath}${item.fileName}`, replaced, 'utf8', function (err) {
  40. if (err) return console.log(err)
  41. })
  42. })
  43. })