美文网首页
再谈electron

再谈electron

作者: 田文健 | 来源:发表于2020-02-27 16:37 被阅读0次

    之前写过electron的入坑文章,现在再把electron的坑再理一下。

    安装平台的选择

    如果在64位机器上开发32位应用,那么需要安装32位的electron。
    npm install --arch=ia32 electron

    electron-build打包也需要加上 --ia32

    可以使用淘宝镜像
    ELECTRON_MIRROR="https://cdn.npm.taobao.org/dist/electron/"

    这些可以配置在npmrc文件里
    arch=ia32
    target_arch=ia32
    disturl=https://npm.taobao.org/mirrors/atom-shell
    runtime=electron
    build_from_source=true
    target=2.0.4
    registry=https://registry.npm.taobao.org
    electron_mirror=http://npm.taobao.org/mirrors/electron/

    打包工具

    建议配合electron-vue 或者 electron-webpack食用,webpack可以混淆代码,能够在一定程度上减少代码泄露的风险,同时减少体积。

    本地依赖的坑

    Windows环境 安装 windows-build-tools基本可以搞定本地依赖。注意上面npmrc文件配置的target_arch 和 target(版本)。这和安装的electron要一样,否则会出问题。

    本地依赖安装不了时先一步步确定问题
    首先看看node-gyp装了没
    再到本地依赖目录下执行 node-gyp 看是否正常

    现在可以确定编译环境OK

    再执行(参数按环境设置),写文章时,淘宝的镜像没有7.0以上的,可以使用下面官方的,比较慢一点
    node-gyp rebuild --target=1.6.2 --arch=ia32 --target_arch=ia32 --dist-url=https://npm.taobao.org/mirrors/atom-shell --msvs_version=2015

    node-gyp rebuild --target=1.6.2 --arch=ia32 --target_arch=ia32 --dist-url=https://electronjs.org/headers --msvs_version=2015

    这一步能OK开发没问题,但是用electron-builder打包又不行了

    貌似electron-builder 和 npm安装下载的gyp文件冲突?但是electron-builder下载巨慢。
    如果一定要 electron-builder 来自动安装,那么需要加入
    "postinstall": "electron-builder install-app-deps"

    然后在“build”配置

    "npmArgs":["dist-url=https://npm.taobao.org/mirrors/atom-shell/"],
        "electronDownload":{
          "mirror": "http://npm.taobao.org/mirrors/electron/",
          "platform": "win32",
          "arch": "ia32"
        }
    

    可以解决electron build 下载慢的问题。主要的问题还是electron 并不使用npm的配置。但是作为打包工具来说,这个比electron-package要好一点的。

    也可以跳过打包前的安装本地依赖步骤步骤
    "npmRebuild": false,

    如果需要打包绿色版的electron 程序,可以配置 target 为portable

    关于FFI
    ffi 安装一直失败 这个时候 试试 ffi-napi 在node 12+ 上可用
    尽量少点本地依赖,不同的模块需要的node 版本不一样,很难去兼容

    electron build

    打包时下载的文件重命名失败,可以手动下载重命名

    相关文章

      网友评论

          本文标题:再谈electron

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