本地代码意外生成dist文件-CompileHero

博主在接手项目时,因手误将60多个不必要的文件提交到git,这些文件是由于某个编辑器插件compilehero导致的额外打包产物。经过排查,确认问题与webpack配置无关,最终定位到compilehero插件,并通过编写Node.js脚本批量删除了多余文件,成功解决问题,但耗费了两天时间。
摘要由CSDN通过智能技术生成

本地代码意外生成dist文件-CompileHero

手误的代价

有次写个需求,其实代码量不算多,也就三四个文件,结果提代码的时候多了60多个文件,因为是接手的别人的工程,我当时就以为是原来脚手架的配置造成的,也就没在意。后来过了一个多月,同事拉代码的时候看到了多出的100多个文件问我咋回事儿,我一脸懵,翻了一下git记录,发现只有我的commit多了这么多代码,我看了下webpack配置,也没啥改动,但当时加了一堆部门内部的eslint插件,我合计这东西应该不能和eslint有关吧,就去google百度了一下,找了一晚上也没啥结果,后来周一接着找,发现思否上有个老哥和我情况一样,但是问题处于无人解答的状态,所以还是只能自己解决。下面附上一副commit 提交图,像这样的文件还有60多个。

每个目录下的js或css都生成了对应的dev文件,dev文件都是打包编译过的,像这样:

"use strict";
​
Object.defineProperty(exports,
首先,你需要安装`pdfjs-dist`和`file-saver`两个库: ``` npm install pdfjs-dist file-saver --save ``` 然后,在你的TS代码中引入这两个库: ```typescript import * as pdfjsLib from 'pdfjs-dist'; import { saveAs } from 'file-saver'; ``` 接着,你需要编写一个方法来将base64数据转换为Blob对象: ```typescript function base64ToBlob(base64: string, contentType: string): Blob { const sliceSize = 1024 const byteCharacters = atob(base64) const byteArrays = [] for (let offset = 0; offset < byteCharacters.length; offset += sliceSize) { const slice = byteCharacters.slice(offset, offset + sliceSize) const byteNumbers = new Array(slice.length) for (let i = 0; i < slice.length; i++) { byteNumbers[i] = slice.charCodeAt(i) } const byteArray = new Uint8Array(byteNumbers) byteArrays.push(byteArray) } return new Blob(byteArrays, { type: contentType }) } ``` 最后,你可以编写一个方法来使用pdfjs加载PDF文件并将其保存到本地: ```typescript async function savePdfFromBase64(base64: string, filename: string) { const pdf = await pdfjsLib.getDocument({ data: base64 }).promise const blob = await pdf.getBlob() saveAs(blob, filename) } ``` 现在你可以使用这个方法来将base64 PDF数据保存到本地: ```typescript const base64Pdf = 'JVBERi0xLjMKJf////8...'; // 这里替换为你的base64 PDF数据 const filename = 'example.pdf'; savePdfFromBase64(base64Pdf, filename); ``` 这样就可以将base64转换为PDF并保存到本地了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值