推荐关注
Meteor
JSLint - a JavaScript code quality tool
jsFiddle
D3.js
WebStorm
推荐书目
JavaScript 权威指南第 5 版
Closure: The Definitive Guide
elevioux

electron + vue 如何连接 mysql

  •  
  •   elevioux · Jul 31, 2020 · 5685 views
    This topic created in 2116 days ago, the information mentioned may be changed or developed.

    想做个客户端自己用。

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

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

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

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

    14 replies    2020-07-31 14:08:13 +08:00
    edk24
        1
    edk24  
       Jul 31, 2020
    数据库操作 业务 放在后端, 不然不安全

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

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

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


    @pockry

    这个也是考虑过的。后面 mysql 看能不能加上 fail2ban+ssl,不知道够不够。
    sam014
        11
    sam014  
       Jul 31, 2020
    可以在 main 进程里连接数据库,再上 express 起个接口就行了
    duan602728596
        12
    duan602728596  
       Jul 31, 2020
    1 、据说 electron 的 net 模块确实改过,nwjs 不清楚
    2 、可以在试试 global.require('net')引入模块
    liuhuihao
        13
    liuhuihao  
       Jul 31, 2020
    通过 IPC,放主线程里,别扔渲染进程里
    w950888
        14
    w950888  
       Jul 31, 2020
    直连数据库?这是要做数据库管理软件吗?
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   887 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 71ms · UTC 22:31 · PVG 06:31 · LAX 15:31 · JFK 18:31
    ♥ Do have faith in what you're doing.