electron + vue 如何连接 mysql - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐关注
Meteor
JSLint - a Javascript code quality tool
jsFiddle
D3.js
WebStorm
推荐书目
Javascript 权威指南第 5 版
Closure: The Definitive Guide
elevioux
V2EX    Javascript

electron + vue 如何连接 mysql

  •  
  •   elevioux 2020-07-31 09:27:41 +08:00 5418 次点击
    这是一个创建于 1973 天前的主题,其中的信息可能已经有所发展或是发生改变。

    想做个客户端自己用。

    发现在 electron 载入的入口文件 public/index.html 写 mysql 连接是正常的。

    但当把代码写到模板 .vue 文件里的话 ,就会出现 net 模块为空对象的情况,导致错误。

    感觉就像是 vue 把 nodejs 的 net 模块 禁用了一样。

    想问一下是什么原因导致的?

    14 条回复    2020-07-31 14:08:13 +08:00
    edk24
        1
    edk24  
       2020-07-31 10:32:36 +08:00
    数据库操作 业务 放在后端, 不然不安全

    并且你的用户都都会和数据库进行长连接, 增加数据库压力负载
    --------

    把数据库操作和核心业务放在后端, 这样保证安全. 其次在后端用长连接&连接池 能减轻数据库压力
    edk24
        2
    edk24  
       2020-07-31 10:33:36 +08:00
    客户端要用数据库的话, 推荐用 sqlite 之类的代之
    miniwade514
        3
    miniwade514  
       2020-07-31 10:34:40 +08:00
    你看报错上面那行 log 打出来的是空对象啊。可能是 vue-cli 的配置问题?把非浏览器环境的模块给屏蔽了?没用过,瞎猜的。
    elevioux
        4
    elevioux  
    OP
       2020-07-31 10:37:52 +08:00
    @edk24 自己用的工具。而且数据库要定时更新,所以只能放在 vps 上。发现一个 vue+electron 的脚手架 https://github.com/SimulatedGREG/electron-vue 解决了这个问题。虽然还是不知道什么原因。
    qiuxiaojie
        5
    qiuxiaojie  
       2020-07-31 10:43:49 +08:00
    有兴趣可以加我微信 cWl1c2hpamllXw=,最近有在搞类似的东西
    qiuxiaojie
        6
    qiuxiaojie  
       2020-07-31 10:44:40 +08:00
    electron 分 render 和 main 的,连 mysql 肯定是在 mian 去连
    plqws
        7
    plqws  
       2020-07-31 10:45:56 +08:00
    require('electron').remote.require('mysql')
    让整个模块都在 main process 加载
    Chenamy2017
        8
    Chenamy2017  
       2020-07-31 10:47:23 +08:00
    代码贴出来,我用 Electron + vue 连接过 PostgreSQL
    pockry
        9
    pockry  
       2020-07-31 10:54:35 +08:00
    放个人 vps 上,就用 node 写个最简单的 API 服务器呗,直连 MySQL 太骚,在公网暴露服务端数据库接口,分分钟被黑。
    elevioux
        10
    elevioux  
    OP
       2020-07-31 11:10:18 +08:00
    @qiuxiaojie
    @plqws

    electron-vue 可以在 renderer 里写 mysql 连接。不过用 main 去连应该才是好的思路。


    @pockry

    这个也是考虑过的。后面 mysql 看能不能加上 fail2ban+ssl,不知道够不够。
    sam014
        11
    sam014  
       2020-07-31 11:48:18 +08:00
    可以在 main 进程里连接数据库,再上 express 起个接口就行了
    duan602728596
        12
    duan602728596  
       2020-07-31 12:10:31 +08:00
    1 、据说 electron 的 net 模块确实改过,nwjs 不清楚
    2 、可以在试试 global.require('net')引入模块
    liuhuihao
        13
    liuhuihao  
       2020-07-31 13:53:07 +08:00
    通过 IPC,放主线程里,别扔渲染进程里
    w950888
        14
    w950888  
       2020-07-31 14:08:13 +08:00
    直连数据库?这是要做数据库管理软件吗?
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2680 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 38ms UTC 15:15 PVG 23:15 LAX 07:15 JFK 10:15
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86