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

news/2024/2/28 7:10:43
在上篇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://www.jiucaihua.cn/news/show-156462.html

相关文章

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

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

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

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

【动态图】教你捋清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

HotSpot 虚拟机对象探秘

HotSpot 虚拟机对象探秘 对象的内存模型 在 HotSpot 虚拟机中,对象在内存中存储的布局分为 3 块区域: 对象头实例数据对齐补充对象头 对象头记录了对象在运行过程中所需要使用的一些数据: 哈希码GC 分代年龄锁状态标志线程持有的锁偏向线程 I…

[Linux]阿里云免费试用体验(在阿里云的ubuntu上部署个人服务)

作为一个IT界的人,一般都希望有一个独立的博客,或者一部独立的机器。所以我一直在找机会,拥有一台自己可以独立控制的机器,自己想干嘛干嘛。当然这在虚拟机或者自己的PC上面也可以实现,但是这跟一台一直开着挂在网上的…

独家对话AAAI、ACM、ACL三会会士Raymond J. Mooney | 香侬专栏

德克萨斯大学奥斯汀分校计算机系教授、人工智能实验室主任 Raymond J. Mooney 带领他的人工智能小组研究了多个领域,目前他的主要研究方向是自然语言处理和计算语言学。其本人曾在 2008-2011 年间担任国际机器学习协会(ICML 主办方)主席&…

C# 使用lock关键字lock不同的对象

c# lock关键字的本质 是调用Monitor.Enter(object obj)并且在finally的时候调用Monitor.Exit(obj) 在obj是不同数据类型的时候会出现不同的情况 1.锁定类型 例如lock(typeof(int)) lock(typeof(ClassA)) // CalssA 是一个类的定义 备注:前者作用范围跨AppDomain 不跨Process…

记一次APP脱壳重打包过程

小伙伴分享了一个开车软件,但是有播放次数限制。对此小伙伴放言要制裁它,无奈APP加固了。 咳咳,本着学(wei)习(le)研(fu)究(li)的态度&#xff0…

大电商网站导航用户体验对比

最近挺感兴趣研究电子商务网站的导航,特地找6个网站做横向对比四个综合性大站 http://www.360buy.com/ http://dangdang.com/ http://www.suning.cn/ http://shop.qq.com/ 两个垂直电商站点 http://www.letao.com/ http://www.mbaobao.com/ 先上截图: 京…