在上篇 SinF的Electron系列之二里我提到了,用 --extra-resource字段来加载第三方资源。
在项目开始的时候,我把第三方资源放到了根目录的static文件夹里,发现并无起到加载第三方资源的效果。通用查询,发现electron-packager提供--extra-resource字段。node
具体使用方法,segmentfault
--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
经常使用的“../”这里是不行的,须要用的 node.js 中的 path模块,代码以下:框架
const url = path.resolve(__dirname, '..') this.datUrl = url + '/1.dat'
其中: path.resolve(__dirname, '..')表示当前目录的父目录的绝对路径,即Resource 目录的绝对路径electron
这样,就能够获取到第三方文件了。this