vue.config.replaceLess.js 1000 B

123456789101112131415161718192021222324252627282930313233
  1. const fs = require('fs')
  2. module.exports = {
  3. setData(filePath, updateData = [], savePath = '') {
  4. let fileData = this.read(filePath)
  5. for (let i in updateData) {
  6. fileData = this.replaceFile(fileData, i, updateData[i])
  7. }
  8. this.save(savePath ? savePath : filePath, fileData)
  9. },
  10. read(filePath) {
  11. let file = fs.readFileSync(filePath, {
  12. encoding: 'utf-8'
  13. })
  14. return file
  15. },
  16. replaceFile(fileData, path, value) {
  17. let fileArr = fileData.split(/;\n/)
  18. for (let index = 0; index < fileArr.length; index++) {
  19. const item = fileArr[index]
  20. const itemArr = item.split(':')
  21. if (path === itemArr[0]) {
  22. fileArr[index] = `${itemArr[0]}: ${value};`
  23. break;
  24. }
  25. }
  26. return fileArr.join('\n')
  27. },
  28. save(filePath, fileData) {
  29. fs.writeFileSync(filePath, fileData, {
  30. "flag": "w"
  31. })
  32. }
  33. }