UNPKG

1.15 kBJavaScriptView Raw
1// getSvg.js
2var fs = require('fs');
3var path = require('path');
4const svgDir = path.resolve(__dirname, '../src/assets/icon/');
5
6// 读取单个文件
7function readfile(filename) {
8 return new Promise((resolve, reject) => {
9 fs.readFile(path.join(svgDir, filename), 'utf8', function(err, data) {
10 console.log(data.replace(/<\?xml.*?\?>|<\!--.*?-->|<!DOCTYPE.*?>/g, ''));
11 if (err) reject(err);
12 resolve({
13 [filename.slice(0, filename.lastIndexOf('.'))]: data,
14 });
15 });
16 });
17}
18
19// 读取SVG文件夹下所有svg
20function readSvgs() {
21 return new Promise((resolve, reject) => {
22 fs.readdir(svgDir, function(err, files) {
23 if (err) reject(err);
24 Promise.all(files.map(filename => readfile(filename)))
25 .then(data => resolve(data))
26 .catch(err => reject(err));
27 });
28 });
29}
30
31// 生成js文件
32readSvgs().then(data => {
33 let svgFile = 'export default ' + JSON.stringify(Object.assign.apply(this, data));
34 fs.writeFile(path.resolve(__dirname, '../src/components/biz/icon/svgs.js'), svgFile, function(err) {
35 if(err) throw new Error(err);
36 })
37}).catch(err => {
38 throw new Error(err);
39});
40