File size: 770 Bytes
b456468
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
/* eslint-disable */
const fs = require('fs');
const mkdirp = require('mkdirp');
const svgstore = require('svgstore');
const svgDir = './src/svg';

function getFileList(dir) {
  const targetDir = `${svgDir}/${dir}`;
  const sprites = svgstore();
  fs.readdir(targetDir, (err, files) => {
    if (!files) return;
    files.forEach((file) => {
      if (file.match(/^\./)) return;
      const id = `${dir}-${file.replace(/\.svg$/, '')}`;
      const svg = fs.readFileSync(`${targetDir}/${file}`);
      sprites.add(id, svg);
    });
    fs.writeFileSync(`./dist/svg/${dir}.svg`, sprites);
  });
}

mkdirp('./dist/svg').then((path) => {
  if (path) {
    fs.readdir(svgDir, (err, dirs) => {
      dirs.forEach((dir) => {
        getFileList(dir);
      });
    });
  }
});