博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
为方便引入svg,把所有的svg,node生成一个js
阅读量:6939 次
发布时间:2019-06-27

本文共 1934 字,大约阅读时间需要 6 分钟。

生成svg模版

/* 因为要在icon组件中使用到svgs文件,所以直接将文件写到icon组件目录下  框架开发时候写入到src/lib/icon 目录底下  业务开发的时候写入到node_modules/snk-mobile/src/lib/icon目录底下  所以先判断是否存在路径 然后再写入  这样就方便icon组件进行引用*/const path = require('path');const fs = require('fs');const svgDir = path.resolve(__dirname, '../../assets/svgs');function startWirteSvgFile(successCallBack) {  // 生成js文件  console.log('start create svg file!');  readSvgs().then((data) => {    const svgFile = `export default${JSON.stringify(Object.assign.apply(this, data))}`;    const pathForFrameWork = path.resolve(__dirname, '../../assets');    const pathForBusiness = path.resolve(__dirname, '../../assets');    writeSvgConfigIntoFile(pathForBusiness, svgFile, (isScuccess) => {      if (!isScuccess) {        writeSvgConfigIntoFile(pathForFrameWork, svgFile, (re, err) => {          if (re) {            successCallBack();          } else {            console.error(err);            console.error('svg创建失败!');          }        });      } else {        successCallBack();      }    });  }).catch((err) => {    console.error(err);    console.error('svg创建失败!');  });}function writeSvgConfigIntoFile(pathUrl, svgFile, cb) {  fs.exists(pathUrl, (isExists) => {    if (isExists) {      fs.writeFile(`${pathUrl}/svgs.js`, svgFile, (err) => {        if (err) {          cb && cb(false, err);        } else {          console.log('svg创建成功!');          cb && cb(true);        }      });    } else {      cb && cb(false);    }  });}// 读取单个文件function readfile(filename) {  return new Promise((resolve, reject) => {    fs.readFile(path.join(svgDir, filename), 'utf8', (err, data) => {      data = data.replace(/<\?xml.*?\?>|
|
/g, ''); data = data.replace(/
{ fs.readdir(svgDir, (err, files) => { if (err) reject(err); Promise.all(files.map(filename => readfile(filename))) .then(data => resolve(data)) .catch(() => reject(err)); }); });}startWirteSvgFile()复制代码

转载地址:http://poqjl.baihongyu.com/

你可能感兴趣的文章
Sublime Text 3 提高工作效率的使用技巧
查看>>
一个oracle查询引起的bug
查看>>
别让五年后的你瞧不起你自己
查看>>
戏说WM
查看>>
MySQL和Oracle对比学习之事务
查看>>
参考文献标准化
查看>>
[20151217]12c标量子查询.txt
查看>>
if else 和 switch的效率
查看>>
最近的几个技术问题总结和答疑(七)
查看>>
cgroup测试存储设备IOPS分配
查看>>
通过shell绑定系统进程调优
查看>>
使用云监控实现GPU云服务器的GPU监控和报警(上) - 自定义监控
查看>>
【POJ 1182 食物链】并查集
查看>>
[20160721]rman与undo表空间备份.txt
查看>>
GotoTest
查看>>
linux命令之pwck
查看>>
Java---网络编程(4)-C/S-B/S
查看>>
jQuery修改class属性和CSS样式
查看>>
SQL Server 2008 R2 安全性专题(一):安全原则
查看>>
经典算法题每日演练——第三题 猴子吃桃
查看>>