使用 npm 安装 Electron 作为开发依赖

ops/2024/11/22 13:44:47/

好的,下面是一个使用 npm packnpm install 命令来打包和安装离线版本的 npm 包的具体示例。我们将以 electron 为例,演示如何在有网络连接的机器上打包 electron,然后在没有网络连接的机器上安装它。

步骤 1: 在有网络连接的机器上打包 electron

  1. 创建一个目录: 在有网络连接的机器上,创建一个目录来存放离线包。

     
  • mkdir offline-packages
    cd offline-packages
  • 下载 electron: 使用 npm pack 命令下载 electron 包。

  • npm pack electron

    这会生成一个 .tgz 文件,例如 electron-33.2.0.tgz

  • 下载 electron 的依赖项electron 可能有一些依赖项,我们需要单独下载这些依赖项并打包。假设 electron 依赖于 @electron/get,我们可以使用类似的方法下载这些依赖项

  1. npm pack @electron/get

    这会生成一个 @electron/get-2.0.3.tgz 文件。

  2. 复制文件: 将生成的 .tgz 文件复制到目标机器上的某个目录,例如 E:\new\clipboard-saver\my-electron-app\offline-packages

步骤 2: 在没有网络连接的机器上安装离线包

  1. 创建项目目录: 在目标机器上,创建一个新的项目目录并初始化一个新的 Node.js 项目。

  • mkdir my-electron-app
    cd my-electron-app
    npm init -y
  • 创建 offline-packages 目录: 在项目目录中创建一个 offline-packages 目录,并将从有网络连接的机器上复制的 .tgz 文件放入该目录。

  • mkdir offline-packages
  • 安装离线包: 使用 npm install 命令安装离线包

  1. npm install ./offline-packages/electron-33.2.0.tgz --save-dev
    npm install ./offline-packages/@electron/get-2.0.3.tgz --save-dev

步骤 3: 验证安装

  1. 检查已安装的 Electron 版本: 运行以下命令来检查已安装的 Electron 版本。

  • npx electron -v
  • 创建主进程文件 main.js: 在项目根目录下创建一个 main.js 文件,内容如下:

  • const { app, BrowserWindow } = require('electron')function createWindow () {const win = new BrowserWindow({width: 800,height: 600,webPreferences: {nodeIntegration: true}})win.loadFile('index.html')
    }app.whenReady().then(() => {createWindow()app.on('activate', () => {if (BrowserWindow.getAllWindows().length === 0) {createWindow()}})
    })app.on('window-all-closed', () => {if (process.platform !== 'darwin') {app.quit()}
    })
  • 创建 HTML 文件 index.html: 在项目根目录下创建一个 index.html 文件,内容如下:

  • <!DOCTYPE html>
    <html>
    <head><title>My Electron App</title>
    </head>
    <body><h1>Hello, Electron!</h1>
    </body>
    </html>
  • 修改 package.json: 确保 package.json 中的 scripts 部分包含启动脚本:

  • {"name": "my-electron-app","version": "1.0.0","description": "","main": "main.js","scripts": {"start": "electron ."},"devDependencies": {"electron": "^33.2.0"}
    }
  • 运行应用: 在项目根目录下运行以下命令来启动你的 Electron 应用:

  1. npm start

总结

通过以上步骤,你可以在有网络连接的机器上打包 electron 及其依赖项,然后在没有网络连接的机器上安装这些离线包并运行你的 Electron 应用。如果有任何问题,欢迎随时提问。


http://www.ppmy.cn/ops/135798.html

相关文章

计算机网络(第一章)

文章目录 概述1.1计算机网络在信息时代的作用1.2因特网概述1. 网络,互连网(互联网)和因特网2. 因特网发展的三个阶段3.因特网的标准化工作4.因特网的组成 1.3 三种交换方式电路交换 (Circuit Switching)分组交换 (Packet Switching)报文交换 (Message Switching)三个交换的对比…

js制作文字走马灯

走马灯是一种常见的网页效果&#xff0c;可以用来展示图片或文字的循环滚动。 1. 关于HTML结构 添加可视区域用户可见部分&#xff0c;给走马灯文字内容制作了个盒子来存放他 <div class"notice"><img src"./img/7.jpg" alt"通知图标&quo…

【Element Ui】el-checkbox 的 indeterminate 与 v-model 表示 “全选”、“待选”、“不选” 状态

官网链接&#xff1a; https://element-plus.org/zh-CN/component/checkbox.html indeterminate 与 v-model indeterminate 属性用以表示 checkbox 的不确定状态&#xff0c;一般用于实现全选的效果。v-model 是绑定值indeterminate 与 v-model 对应不同值的组合可以改变 che…

从0开始学习Linux——MySQL安装多种方式详解

期目录&#xff1a; 从0开始学习Linux——简介&安装 从0开始学习Linux——搭建属于自己的Linux虚拟机 从0开始学习Linux——文本编辑器 从0开始学习Linux——Yum工具 从0开始学习Linux——远程连接工具 从0开始学习Linux——文件目录 从0开始学习Linux——网络配置 从0开始…

如何编译 Cesium 源码

如何编译 Cesium 源码 Cesium 是一个开源的 JavaScript 库&#xff0c;用于构建 3D 地球和地图应用程序。它提供了一套强大的 API 和工具&#xff0c;使开发者能够创建丰富的地理空间应用。本文将指导您如何从 GitHub 下载 Cesium 源码&#xff0c;并在本地进行编译。 TilesB…

【第七课】Rust所有权系统(三)

目录 前言 生命周期 生命周期的规则 总结 前言 上一节课讲述了所有权系统中的引用与借用&#xff0c;引用可以让我们对一块内存上的数据有读权限或者读写权限&#xff0c;但是不会有该内存的释放权限&#xff0c;因为释放权限只会属于所有者&#xff0c;这是所有权原则中的…

如何查找 Kafka消息队列中主题Topic的消费者?

这是一篇关于如何查找特定 Kafka 主题&#xff08;如 filter_id&#xff09;消费者的教程&#xff0c;涵盖了使用 Kafka 命令行工具 kafka-consumer-groups.sh 的详细步骤。 如何查找 Kafka 主题的消费者&#xff1f; Kafka 中&#xff0c;消费者组和主题之间的关系是关键的。…

iPhone 17 Air看点汇总:薄至6mm 刷新苹果轻薄纪录

我们姑且将这款iPhone 17序列的超薄SKU称为“iPhone 17 Air”&#xff0c;Jeff Pu在报告中提到&#xff0c;我同意最近关于 iPhone 17超薄机型采用6 毫米厚度超薄设计的传言。 如果这一测量结果被证明是准确的&#xff0c;那么将有几个值得注意的方面。 首先&#xff0c;iPhone…