gpt4 book ai didi

node.js - 从 react 组件调用 Node 模块

转载 作者:搜寻专家 更新时间:2023-10-31 23:52:00 25 4
gpt4 key购买 nike

我如何在 React 组件中使用 Node 模块,例如“lwip”?这是 Electron 申请。

用代码更新问题:

  1. 这是我试图从中调用另一个 .js 文件的 React 组件。

按钮.js

import React from 'react';
import ReactDOM from 'react-dom';
import resize from '../../node-code/process';

class Button extends React.Component{

mess(){
console.log('working');
resize();
}

render(){
return <button id="imgButton" onClick={this.mess.bind(this)}>Upload Image</button>
}
}

export default Button
  1. 这是我尝试调整图像大小的另一个 javascript 文件。

进程.js

var lwip = require('lwip');

export default function(){
var lwip = require('lwip');
lwip.open('../../public/img/portrait.jpg', function(err, image){


image.batch()
.scale(0.75) // scale to 75%
.rotate(45, 'white') // rotate 45degs clockwise (white fill)
.crop(200, 200) // crop a 200X200 square from center
.blur(5) // Gaussian blur with SD=5
.writeFile('../../public/img/output.jpg', function(err){

});

});
}

最佳答案

Node 模块需要从主 Electron 线程运行,而不是运行 React 的渲染器线程。

您可以在渲染器进程中运行 NPM 模块,就像在浏览器中一样,但这些模块不能使用 Node.js 库,因为浏览器中显然没有 Node。

要在主线程( Node )和渲染器(浏览器)线程之间进行通信,您需要使用 IPC(进程间通信)系统,该系统使用事件在线程之间发送数据。

Here's the IPC documentation for Electron.

如果您需要在线程之间持续通信,您可以使用 electron-ipc-socket图书馆。

关于node.js - 从 react 组件调用 Node 模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41173127/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com