我试着在electron中使用gray-matter,但是有utils.js:36 Uncaught ReferenceError: Buffer is not defined。有没有办法在electron中使用Buffer?
gray-matter
utils.js:36 Uncaught ReferenceError: Buffer is not defined
Buffer
wgxvkvu91#
这可能是过去很有用的原始海报,但数字我会提供我可以为那些谁发现这像我一样。虽然我没有在我的项目中使用gray-matter,但我在为我的Electron前端(在我的情况下是React)暴露NodeJS的Buffer对象时遇到了类似的问题。最好的方法是通过使用Electron预加载脚本来暴露Buffer对象。在preload.js中
const { contextBridge } = require('electron'); contextBridge.exposeInMainWorld('nodeAPI', { createBuffer: (data) => Buffer.from(data) });
字符串然后在你的前端引用它如下。
const buffer = window.nodeAPI.createBuffer(event.target.result);
型如果它对其他人也有用,这里有一个完整的使用它从前端获取一个文件时,从一个子组件检索到一个后端方法的数据库存储。
const uploadFile = async (fileName, file) => { if(file){ const reader = new FileReader(); reader.onload = async (event) => { const buffer = window.nodeAPI.createBuffer(event.target.result); try{ await window.electronAPI.addFile({ fileName: fileName, file: buffer }); }catch(err){ console.error('Error adding file: ', err); } }; reader.readAsArrayBuffer(file); }else{ alert('Error saving file.'); } };
型
1条答案
按热度按时间wgxvkvu91#
这可能是过去很有用的原始海报,但数字我会提供我可以为那些谁发现这像我一样。
虽然我没有在我的项目中使用gray-matter,但我在为我的Electron前端(在我的情况下是React)暴露NodeJS的Buffer对象时遇到了类似的问题。最好的方法是通过使用Electron预加载脚本来暴露Buffer对象。
在preload.js中
字符串
然后在你的前端引用它如下。
型
如果它对其他人也有用,这里有一个完整的使用它从前端获取一个文件时,从一个子组件检索到一个后端方法的数据库存储。
型