Electron+vue项目小结

首先对于未深入了解Electron的我为了快速上手直接使用了该文章的方法进行了项目的基础创建:

https://zhuanlan.zhihu.com/p/75764907

碰到的一些问题:

1.项目内无法使用nodejs的api,解决方案为:

在background.js内

  const win = new BrowserWindow({
    width: 1300,
    height: 810,
    webPreferences: {
      //插入这三行
      nodeIntegration: true,
      contextIsolation: false,
      nodeIntegrationInWorker: true,
    },
  })

由于项目是直接调用本地py脚本,所以不涉及到ajax请求,这类的坑还没踩到过

2.在Electron内js文件使用require调用nodejs的api无法生效的问题,解决方案为:

require("child_process")
//加上window
window.require("child_process")

3.如果将要运行的脚本在打包后的exe同级的文件夹内则先用cd进入文件夹然后再运行对应的脚本即可

/*  ----src:文件夹名称,data:py调用命令(python -c "from hello 
import printHello;printHello()'),callback回调  */
function runPycd_data(src,data,callback) {
  var exec = window.require("child_process").exec;
  exec(`cd ${src} && ${data}` + '', function (error, stdout, stderr) {
    if (stdout.length > 1) {
      console.log(stdout);
      callback(true,stdout)
    } else {
      callback(true,'')
      console.log("you don't offer args");
    }
    if (error) {
      console.info("stderr : " + stderr);
      callback(false,stderr)
      return
    }
  })
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值
>