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

news/2024/9/20 0:00:37
在上篇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 目录的绝对路径

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


https://dhexx.cn/news/show-156462.html

相关文章

Kubeflow实战系列:利用TFJob导出分布式TensorFlow模型

介绍 本系列将介绍如何在阿里云容器服务上运行Kubeflow, 本文介绍如何使用TfJob导出分布式模型训练模型。 第一篇:阿里云上使用JupyterHub 第二篇:阿里云上小试TFJob 第三篇:利用TFJob运行分布式TensorFlow 第四篇:利用TFJob导出分…

用Battery Historian 3.0分析android手机电池消耗

Battery Historian安装方法见https://github.com/google/battery-historian 目前是Battery Historian3.0版本 第一种方法是使用docker镜像,因为镜像位于google云,最后docker run命令根本就连不上。 只能使用第二种方法源代码编译的方式,方…

前端面试之CSS应用

5.1布局 浮动布局:文档的内容按照一定的规则排列定位布局:不规则的排版,用z-index改变层叠的顺序流式布局:用百分数表示宽高,可以很好地自适应弹性布局:多应用与移动端,弹性布局参照的是字体的大…

配置hadoop+pyspark环境

配置hadooppyspark环境 1、部署hadoop环境 配置hadoop伪分布式环境,所有服务都运行在同一个节点上。 1.1、安装JDK 安装jdk使用的是二进制免编译包,下载页面 下载jdk$ cd /opt/local/src/ $ curl -o jdk-8u171-linux-x64.tar.gz http://download.oracle…

【面试题】面试官:请你说说对Vue响应式数据的理解

前言 我们平时的面试过程当中,问到Vue,几乎都会问到响应式的问题,因为在Vue的实现当中,响应式系统的实现就占据很大一个篇幅。这是Vue声明式编程的基石。那么如何理解响应式数据呢?相信结合源码以及手写实现会有一个更…

android电量优化之Battery Historian工具使用

前几天写了关于androidAPP性能优化总结的文章,还没有看的话可以看一下,这文章提到了电量优化,android耗电分析所用到的工具battery-historian,这里做一个总结. 在 Android5.0 以前,在应用中测试电量消耗比较麻烦&…

plt

设定X,Y轴的长度以及刻度的方法. import numpy as np import matplotlib.pyplot as pltdata np.arange(0,1.1,0.01) plt.title(line) plt.xlabel(x) plt.ylabel(y) plt.xlim((0,1)) # 确定X轴的范围. plt.ylim((0,1)) plt.xticks([0,0.2,0.4,0.6,0.8,1]) plt.yticks([0,0.2,0.…

2019年Java和JVM生态系统预测:OpenJDK将成为Java运行时市场领导者

本文对2019年Java和JVM生态系统做了一些预测。正如InfoQ 2018年度总结中说的那样,Java在2018年的发展势头非常有意思。 在我们步入2019之际,让我们来看看在新的一年中Java和相关技术值得注意的点,并试着猜测未来会发生些什么。 免责声明&…

【动态图】教你捋清Java常用数据结构及其设计原理

最近在整理数据结构方面的知识, 系统化看了下Java中常用数据结构, 突发奇想用动画来绘制数据流转过程。主要基于jdk8, 可能会有些特性与jdk7之前不相同, 例如LinkedList LinkedHashMap中的双向列表不再是回环的。HashMap中的单链表是尾插, 而不是头插入等等, 后文不再赘叙这些差…

scrapy

https://doc.scrapy.org/en/1.2/intro/install.html#installing-scrapy 转载于:https://blog.51cto.com/11970781/2132283