SinF的Electron系列之三---electron-packager加载第三方资源

在上篇 SinF的Electron系列之二里我提到了,用 --extra-resource字段来加载第三方资源。

在项目开始的时候,我把第三方资源放到了根目录的static文件夹里,发现并没有起到加载第三方资源的效果。通用查询,发现electron-packager提供--extra-resource字段。

  • 核心方法,用 --extra-resource 字段来存储。用 path 模块来获取绝对路径。
  • 核心路径,Resources文件夹
  • 具体使用方法,

    • 存储代码如下:
         --extra-resource=./res/2.dat --extra-resource=./res/1.dat 
【注意】./res 是我在根目录下面自定义的一个第三方资源目录,可以任意修改。如果有多个第三方资源,可以重复添加。
  • 难点在于如何读取,我以mac版本的打包文件为例

    • 右键进入app的文件目录,目录如下:
        Contents
            │   ├── Framworks (electron框架文件)
            │   ├── MacOS
            │   │   ├── 项目
            │   └── Resources(资源)
            │   │   └── electron.asar(打包后的执行文件,asar格式即加密格式,只能通过node.js的fs模块解析)
            │   │   └── ...(其他资源)
            │   │   └── 1.dat
            │   │   └── 2.dat
    • 通过分析文件结构可以知道,我们打包后的执行文件,在 Resources 文件中,项的electron.asar包里。而第三方文件被放置到了 Resources 根目录下,所以 加载第三方资源 可以转换为,获取Resources文件夹中的资源
    • 常用的“../”这里是不行的,需要用的 node.js 中的 path模块,代码如下:

      const url = path.resolve(__dirname, '..')
      this.datUrl = url + '/1.dat'

      其中: path.resolve(__dirname, '..')表示当前目录的父目录的绝对路径,即Resource 目录的绝对路径

      • 这样,就可以获取到第三方文件了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值