为什么有这个问题,之前一位同事问我,怎么好好在vue-cli里面可以的功能怎么在vite里面就坏了?
分析问题点,为什么vue-cli可 => 为什么vite不可以?
首先我们需要分析vue-cli底层api其实是webpack,而webpack支持情况如下
我们在分析一下vite需要的模式
然后我们在打开tiff.js 源码
真相大白了,这个是umd的,默认是vite是不支持的,找到问题点,然后就是这么解决了?
第一个想法就是查一下gtp,查完之后感觉不靠谱,各种插件,我觉得既然他编译出问题,不编译不就好了,我这脑子可以的,直接在 html 下面
<script src="https://cdn.jsdelivr.net/npm/tiff.js"></script>
,直接启动,ok!问题解决
贴上转换的代码
const readFileAsArrayBuffer = async (file) => {
return new Promise((resolve, reject) => {
const reader = new FileReader();
reader.onload = () => resolve(reader.result);
reader.onerror = reject;
reader.readAsArrayBuffer(file);
});
};
function arrayBufferToBase64(buffer) {
const tiff = new window.Tiff({
buffer: buffer,
});
//转成png格式的base64图片,将其用img标签展示即可
console.log(tiff.toDataURL("image/png"));
}