electron 引入node服务

这里就不介绍electron的配置了,其实引入node服务很简单,直接在electron的主体中引入就可以了。

首先我们需要有一个node服务。

创建一个 index.js和router.js

index.js

const express = require("express");
const router = express.Router();
// 引入全局对象
var path = require("path");
const indexRouter = require("./router.js");
// 声明创建
let http = require("http");

let port = 3000;
// 建立网站服务器
var app = express();

// 引入路由
app.use(indexRouter);

app.set("port", port);

// 创建 HTTP 服务器并监听 port 端口的所有请求
var server = http.createServer(app);
server.listen(port);
console.log("启动成功:端口" + port);

 router.js

// 1、导入express模块
const express = require("express");
// 2、创建路由对象
const router = express.Router();
// 3、挂载具体的路由
router.get("/test", (req, res) => {
  res.send({
    code: 200,
    data: "访问成功!",
  });
});

// 4、向外导出路由
module.exports = router;

然后启动 node index.js

访问成功!

 electron主体引入

然后我们启动 electron,就会发现node服务启动成了!

这里因为electron没有引入jquery和axios, 这里就用浏览器访问了,如果是vue项目,可以使用代理访问

 注意:打包的时候这里的接口就会发生跨域报错,需要在electron打包的时候配置webPreferences:{webSecurity:true}

 打包运行

问题一:打包后报错缺少依赖

打包遇到的问题, 就是打包遇到缺少依赖什么的,类似下面问题的,都是打包的时候,electron没有把依赖的依赖给打包进去,所以就缺少好多依赖。

 这里我用了一个笨办法解决的,就是把 express 的依赖粘贴过来,重新 cnpm i下载一下就行了,或者缺哪个下那个,如果各位大佬有更好的办法,欢迎指导。谢谢~

"accepts": "~1.3.8",
    "array-flatten": "1.1.1",
    "body-parser": "1.20.1",
    "content-disposition": "0.5.4",
    "content-type": "~1.0.4",
    "cookie": "0.5.0",
    "cookie-signature": "1.0.6",
    "debug": "2.6.9",
    "depd": "2.0.0",
    "encodeurl": "~1.0.2",
    "escape-html": "~1.0.3",
    "etag": "~1.8.1",
    "finalhandler": "1.2.0",
    "fresh": "0.5.2",
    "http-errors": "2.0.0",
    "merge-descriptors": "1.0.1",
    "methods": "~1.1.2",
    "on-finished": "2.4.1",
    "parseurl": "~1.3.3",
    "path-to-regexp": "0.1.7",
    "proxy-addr": "~2.0.7",
    "qs": "6.11.0",
    "range-parser": "~1.2.1",
    "safe-buffer": "5.2.1",
    "send": "0.18.0",
    "serve-static": "1.15.0",
    "setprototypeof": "1.2.0",
    "statuses": "2.0.1",
    "type-is": "~1.6.18",
    "utils-merge": "1.0.1",
    "vary": "~1.1.2",
    "ee-first": "1.1.1"

 问题二: 关闭服务,删除历史包

 

  关闭服务 

 

  • 5
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Electron 中使用 node-python 可以让你在 JavaScript 中调用 Python 代码,从而实现更多的功能。下面是一个简单的示例: 1. 首先,安装 node-python: ``` npm install node-python ``` 2. 在 Electron 项目中的渲染进程中引入 node-python: ```javascript const Python = require('node-python'); ``` 3. 在需要使用 Python 代码的地方,创建一个 Python 实例并调用 Python 函数: ```javascript const python = Python('script.py'); const result = python.myFunction(); console.log(result); ``` 其中,`script.py` 是你想要调用的 Python 脚本文件,`myFunction()` 是该脚本中的一个函数。 需要注意的是,如果你的 Python 代码依赖于第三方库,你需要在 Electron 项目中的主进程中安装这些库,例如: ``` npm install numpy ``` 然后,在主进程中引入这些库: ```javascript const PythonShell = require('python-shell'); const path = require('path'); const options = { mode: 'text', pythonPath: '/usr/bin/python3', // 指定 Python 解释器路径 pythonOptions: ['-u'], // 将 stdout 和 stderr 流设置为无缓冲模式 scriptPath: path.join(__dirname, '../python'), // 指定 Python 脚本目录 args: ['arg1', 'arg2'] }; PythonShell.run('script.py', options, (err, results) => { if (err) throw err; console.log('results:', results); }); ``` 在上面的代码中,我们使用了 `python-shell` 模块来执行 Python 脚本,并指定了 Python 解释器路径、脚本目录和命令行参数。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值