gen-component-dict.js 725 B

1234567891011121314151617181920212223242526
  1. const glob = require('glob')
  2. const kebabCaseToCamelCase = (string = '') => {
  3. return string.replace(/-(.){1}/g, (val) => {
  4. return val.replace('-', '').toUpperCase()
  5. })
  6. }
  7. glob('./**/index.?(jsx|js|vue)', {}, (err, files) => {
  8. if (!err) {
  9. let result = ''
  10. files.forEach(file => {
  11. const pathArr = file.split('/')
  12. pathArr.pop()
  13. const dirPath = pathArr.join('/')
  14. pathArr.shift()
  15. // pathArr.shift()
  16. const name = kebabCaseToCamelCase(pathArr.pop())// pathArr.join('-') // kebabCaseToCamelCase(pathArr.join(''))
  17. result[name] = dirPath
  18. result += ` ${name}: {
  19. component: (mode) => () => import(\`${dirPath}\${mode}\`)
  20. },\n`
  21. })
  22. console.log(result)
  23. }
  24. })