0.2.3 • Published 4 years ago
iconfont-script v0.2.3
iconfont-script
简介
项目中采用iconfont去管理UI设计图标,由于... . . 等原因,图标并不是一次性给到前端的。 有新的图标就要到iconfont网站进行下载加压到本地,是不是感觉这样很不爽?
安装
npm install iconfont-script
使用
```javascript
/**
* @author 🌈先知云 <zhangle@vtstar.net>
* @date ⌚2020-05-18
* @desc 📝 下载远程iconfont 内容
*/
const path = require('path')
const {iconfontScript} = require('iconfont-script');
const iconConfig = {
cookie: 'xxxx',
list: [
{
url: 'https://www.iconfont.cn/api/project/download.zip?spm=a313x.7781069.1998910419.d7543c303&pid=724179&ctoken=19DKMjRBi14qCZ3dibnLdK5n',
toPath: path.join(__dirname, '../src/assets/iconfont/features')
},
{
url: 'https://www.iconfont.cn/api/project/download.zip?spm=a313x.7781069.1998910419.d7543c303&pid=724179&ctoken=19DKMjRBi14qCZ3dibnLdK5n',
toPath: path.join(__dirname, '../src/assets/iconfont/menu'),
replaceName: 'iconfont-menu',
}
]
}
;(async () => {
await iconfontScript(iconConfig)
})()
```
实现思路
1. 获取buffer 2. buffer写入本地 *iconfont. zip* 3. iconfont. zip进行解压到 *iconfont* 文件夹 4. 将解压后文件进行迁移到指定目录 5. 将本地生成文件和文件夹 *iconfont. zip、iconfont*删除
🛠工具
常用工具据不一一描述了,自行查找他们使用方法,具体如何骚。
rollup
nodemon
concurrently
request
发布工具
let options = {
url: _url,
encoding: null,
headers: {
'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.64 Safari/537.11',
'cookie': this.cookie
},
debug: false,
maxRedirects: 5,
// 禁止跳转,防SSRF
followRedirect: false,
timeout: 10000
}
Request 被废弃了, 几乎接触过Node的人都接触过Request。这里建议使用 superagent 轻量HTTP库。
compressing实现解压
jszip如何进行压缩文件进行参考
在Class中如何使用递归?
deleteFolderRecursive删除文件和文件夹
概念
- Buffer
- JavaScript 语言自身只有字符串数据类型,没有二进制数据类型。定义了一个 Buffer 类,该类用来创建一个专门存放二进制数据的缓存区。
最后
面试题
- request中 encoding:null headers中User-Agent?
- Buffer、Uint8Array、base64编码、Blob 这几个常用概念理解,什么场景先使用?
- 浅谈CSRF、SSRF理解?
- call、apply、bind应用?
- 在webpack中经常看到path.join和path.resolve区别是什么?
- 使用fs的同步方法,javascript 宏任务与微任务的解读eventLoop?
- 浏览器端和服务端如何实现一个文件上传和下载,如何实现大文件上传?
- forEach、map、for 循环过程中异步等待(async, await)有什么不同?
- 递归实现有几种方式,项目开发过程中哪些场景使用?
- 服务端如何防止网络爬虫,有哪些方式?
postversion 自动打标签并发布
更多推荐
参考资料
nodejs中文网 Node. js 不深也不浅得了解下编码 都 2020 年了,你还在手动发布 npm 包吗 持续集成(Travis CI)运行流程详解 基于travis和git tag 实现npm自动化发版 使用 Travis CI 自动发布 npm