首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >电子,Webpack,反应。使用剪贴板时;未定义'fs‘

电子,Webpack,反应。使用剪贴板时;未定义'fs‘
EN

Stack Overflow用户
提问于 2020-10-10 13:11:47
回答 1查看 172关注 0票数 1

所以我在一个react / webpack / electron桌面应用程序中通过export ELECTRON_START_URL=http://localhost:8080 && electron .运行电子。我正在尝试在粘贴组合键(ctrl + v)时从系统剪贴板中读取。

所以电子工作,我没有在我的菜单定义中启用复制和粘贴快捷方式(我不打算有一个菜单)。

我正在尝试读取react app...similar中一个组件的组合键,以:

代码语言:javascript
运行
复制
import React, { useState, useCallback, useEffect, useRef } from "react";

import {clipboard} from 'electron';

const Thing = (props) {

  const keyboardHandler = (e) => {
    if (e.keyCode === 86 && e.ctrlKey) {
      let pasted = clipboard.readText();
      console.log(pasted);
    }
  }

  useEffect(() => {
    window.addEventListener('keydown', keyboardHandler);
    // Remove event listeners on cleanup
    return () => {
      window.removeEventListener('keydown', keyboardHandler);
    };
  }, []);
 
  return <SomeComp onKeyDown={ (e) => keyBoardHandler(e)}/>

}

export default Thing;

我得到了一个错误:

代码语言:javascript
运行
复制
external_"electron":1 Uncaught ReferenceError: require is not defined
    at eval (external_"electron":1)
    at Object.electron (bundle.js:1167)

编辑:这是我的main.js (电子)代码:

代码语言:javascript
运行
复制
const { app, BrowserWindow, clipboard } = require('electron');

const path = require('path');
const url = require('url');
let mainWindow;

function createWindow () {
  const startUrl = process.env.ELECTRON_START_URL || url.format({
    pathname: path.join(__dirname, '../index.html'),
    protocol: 'file:',
    slashes: true,
  });
  mainWindow = new BrowserWindow({ width: 700, height: 210, frame: true, transprent: true, hasShadow: true });
  mainWindow.loadURL(startUrl);
  mainWindow.on('closed', function () {
    mainWindow = null;
  });
}

app.commandLine.appendSwitch("enable-transparent-visuals");
app.on('ready', createWindow);
app.on('window-all-closed', function () {
  if (process.platform !== 'darwin') {
    app.quit();
  }
});
app.on('activate', function () {
  if (mainWindow === null) {
    createWindow();
  }
});
EN

回答 1

Stack Overflow用户

发布于 2021-06-05 21:33:59

添加“窗口”。添加到require节点函数,如下所示:

代码语言:javascript
运行
复制
window.require('electron');

这对我很有效,我也希望你能做到。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64290189

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档