electron 引入node服务

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

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

创建一个 index.js和router.js

index.js

javascript 复制代码
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

javascript 复制代码
// 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下载一下就行了,或者缺哪个下那个,如果各位大佬有更好的办法,欢迎指导。谢谢~

javascript 复制代码
"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"

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

关闭服务

相关推荐
万物得其道者成3 分钟前
从零开始创建一个 Next.js 项目并实现一个 TodoList 示例
开发语言·javascript·ecmascript
海天胜景10 分钟前
无法加载文件 E:\Program Files\nodejs\npm.ps1,因为在此系统上禁止运行脚本
前端·npm·node.js
MingT 明天你好!13 分钟前
在vs code 中无法运行npm并报无法将“npm”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查
前端·npm·node.js·visual studio code
老兵发新帖18 分钟前
pnpm 与 npm 的核心区别
前端·npm·node.js
超级土豆粉19 分钟前
怎么打包发布到npm?——从零到一的详细指南
前端·npm·node.js
OpenTiny社区24 分钟前
TinyEngine 2.5版本正式发布:多选交互优化升级,页面预览支持热更新,性能持续跃升!
前端·低代码·开源·交互·opentiny
声声codeGrandMaster1 小时前
Django框架的前端部分使用Ajax请求一
前端·后端·python·ajax·django
sunbyte1 小时前
50天50个小项目 (Vue3 + Tailwindcss V4) ✨ | Expanding Cards (展开式卡片)
javascript·vue.js·ecmascript
肠胃炎1 小时前
React Contxt详解
javascript·react.js·ecmascript
xx24061 小时前
React Native简介
javascript·react native·react.js