美文网首页
Electron开发 —— 问题汇集

Electron开发 —— 问题汇集

作者: 潇潇剑_易水阁 | 来源:发表于2020-08-25 11:05 被阅读0次

    是萝卜就想摘,摘了就有坑,那是放回萝卜还是用土填平还是继续前行

    序:

    • 问题仅仅记录此时此刻遇到的,答案也非各位想的必治之药,是药总会有失效,总也会有治不到的地方,但是创造药的人是不会也不应该有此烦恼,所以请砥砺前进
    • 答案并非都是治本的,且广泛来自网络对此分享的人,此处仅为个人笔记,慎入
    • 问题有些并非来自electron本身,只是恰好因为这个遇到,请不要对号入座
    • Electron 官方常见问题 (FAQ)

    问题:

    1. Package "electron-builder" is only allowed in "devDependencies"

    答:顾名思义如下:
    npm i electron-builder --save-dev
    

    2. fs.existsSync is not a function

    答: 其实是因为不在node环境去生成导致,比如我这里放在vue的App.vue文件里进行引入electron代理,然后运行报错。用断点去分析,existsSync 实际为undefined,具体定位到了node_modules/electron/index.js,代码定义为require('fs'),此处仅返回了Object,从运行的当前index.js文件所处的node_modules的确没有fs模块,项目的指向为node_modules@types\node\ts3.2\fs.d.ts定义的,但是明显运行时的node_modules并没有这个,皆因这是node的内置模块,运行时却是Chromium环境,所以html或者js里面调用这个electron代理时才会发现这是个缺陷的代理(山寨版),当然你可以把fs也抽给它,但是我觉得它后面依赖的还是会出问题,难不成还要把牵连的node模块都给前置,那electron搞个代理给前端调用岂不是多此一举,其实我更希望的是整合,而不是这种中间者堆起来的感觉,出问题就好似糖葫芦一样串起来,但是现在看起,的确还是得搞个代理模式,故应该把electron代理放回原来的环境,当前端require的时候就不会再是走electron/index的代码,而直接就是electron代理这个对象,此处一旦解决摸清楚,那么html以及js如何调用electron来达成调用本地API就很容易了,具体请看整合框架,但是并非这一种方式,其他的请自行探索,或许革命electron,不再是这种相对依赖的代理会更好点,毕竟要这么绕,本质仅仅是想以html5技术去搭建PC平台。最后就是官方文档以及常见问题均有关于此的蛛丝马迹,只是没有直接点明,或者遇到类似这种的,或者当某某总是在问,electron怎么写vue,怎么写angular,怎么写react,其实你为何不直接问怎么写html和js以及css,然后才是vue,angular,react怎么去写html和js以及css,这样一看是不是就有所关联了,本系列的整合皆是这样,封装容易让人迷失,看穿伪装尤为重要。

    3.待发现

    相关文章

      网友评论

          本文标题:Electron开发 —— 问题汇集

          本文链接:https://www.haomeiwen.com/subject/yiyajktx.html