0.2.3 • Published 4 years ago

iconfont-script v0.2.3

Weekly downloads
38
License
-
Repository
-
Last release
4 years ago

iconfont-script

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. zipiconfont*删除

🛠工具

常用工具据不一一描述了,自行查找他们使用方法,具体如何骚。

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 类,该类用来创建一个专门存放二进制数据的缓存区。

最后

面试题

  1. request中 encoding:null headers中User-Agent?
  2. Buffer、Uint8Array、base64编码、Blob 这几个常用概念理解,什么场景先使用?
  3. 浅谈CSRF、SSRF理解?
  4. call、apply、bind应用?
  5. 在webpack中经常看到path.join和path.resolve区别是什么?
  6. 使用fs的同步方法,javascript 宏任务与微任务的解读eventLoop?
  7. 浏览器端和服务端如何实现一个文件上传和下载,如何实现大文件上传?
  8. forEach、map、for 循环过程中异步等待(async, await)有什么不同?
  9. 递归实现有几种方式,项目开发过程中哪些场景使用?
  10. 服务端如何防止网络爬虫,有哪些方式?

postversion  自动打标签并发布

更多推荐

记一次node爬虫经历,手把手教你爬虫

参考资料

nodejs中文网 Node. js 不深也不浅得了解下编码 都 2020 年了,你还在手动发布 npm 包吗 持续集成(Travis CI)运行流程详解 基于travis和git tag 实现npm自动化发版 使用 Travis CI 自动发布 npm

0.2.3

4 years ago

0.2.2

4 years ago

0.1.31

4 years ago

0.2.1

4 years ago

0.1.30

4 years ago

0.1.26

4 years ago

0.1.27

4 years ago

0.1.28

4 years ago

0.1.29

4 years ago

0.1.8

4 years ago

0.1.0

4 years ago

1.0.0

4 years ago