在有网络连接的机器上打包 electron 及其依赖项,在没有网络连接的机器上安装这些离线包

好的,下面是完整的安装语句,分为两部分:在有网络连接的机器上打包 electron 及其依赖项,在没有网络连接的机器上安装这些离线包。

在有网络连接的机器上打包 electron 及其依赖项

bash 复制代码
# 创建一个目录来存放离线包
mkdir offline-packages
cd offline-packages

# 下载 electron 包
npm pack electron

# 下载 electron 的依赖项(假设 @electron/get 是一个依赖项)
npm pack @electron/get

# 将生成的 .tgz 文件复制到目标机器上的某个目录
# 例如:E:\new\clipboard-saver\my-electron-app\offline-packages
cp electron-*.tgz /path/to/target/machine/E:/new/clipboard-saver/my-electron-app/offline-packages/
cp @electron/get-*.tgz /path/to/target/machine/E:/new/clipboard-saver/my-electron-app/offline-packages/

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

bash 复制代码
# 创建项目目录并初始化一个新的 Node.js 项目
mkdir my-electron-app
cd my-electron-app
npm init -y

# 创建 offline-packages 目录并将 .tgz 文件放入该目录
mkdir offline-packages

# 安装离线包
npm install ./offline-packages/electron-33.2.0.tgz --save-dev
npm install ./offline-packages/@electron/get-2.0.3.tgz --save-dev

# 验证已安装的 Electron 版本
npx electron -v

# 创建主进程文件 main.js
echo "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()
  }
})" > main.js

# 创建 HTML 文件 index.html
echo "<!DOCTYPE html>
<html>
<head>
  <title>My Electron App</title>
</head>
<body>
  <h1>Hello, Electron!</h1>
</body>
</html>" > index.html

# 修改 package.json
echo "{
  \"name\": \"my-electron-app\",
  \"version\": \"1.0.0\",
  \"description\": \"\",
  \"main\": \"main.js\",
  \"scripts\": {
    \"start\": \"electron .\"
  },
  \"devDependencies\": {
    \"electron\": \"^33.2.0\"
  }
}" > package.json

# 运行应用
npm start
复制代码

说明

  1. 在有网络连接的机器上

    • 创建一个目录 offline-packages 来存放离线包。
    • 使用 npm pack 命令下载 electron 及其依赖项(如 @electron/get)。
    • 将生成的 .tgz 文件复制到目标机器上的 E:\new\clipboard-saver\my-electron-app\offline-packages 目录。
  2. 在没有网络连接的机器上

    • 创建项目目录并初始化一个新的 Node.js 项目。
    • 创建 offline-packages 目录并将 .tgz 文件放入该目录。
    • 使用 npm install 命令安装离线包。
    • 验证已安装的 Electron 版本。
    • 创建主进程文件 main.js 和 HTML 文件 index.html
    • 修改 package.json 文件以包含启动脚本。
    • 运行 Electron 应用。
相关推荐
bloglin9999919 分钟前
langchain 和 langgraph 和 react
javascript·react.js·langchain
触底反弹21 分钟前
🚀 删了数据刷新又回来?3 组件 × 4 回调 × 3 坑讲透 React 父子通信
前端·javascript·react.js
会周易的程序员2 小时前
js-shm: 高性能 Node.js 共享内存模块
开发语言·javascript·c++·node.js·共享内存·shm
带娃的IT创业者3 小时前
重新定义前端构建速度:深度解析 SWC 如何用 Rust 颠覆 JavaScript 工具链
前端·javascript·rust·前端构建·swc
新中地GIS开发老师4 小时前
零基础WebGIS开发入门 | GeoJSON数据持久化
前端·javascript·gis·webgis·三维gis开发
blns_yxl4 小时前
正则驱动实时表单验证(HTML+CSS+JS+正则)
javascript·css·html
Quz5 小时前
QML 与 JavaScript 交互方式:内联函数、外部文件、信号槽与工作线程
javascript·qt
Allshadow5 小时前
Nest.js - 连接数据库
javascript·nestjs
冰暮流星5 小时前
javascript之date对象
开发语言·javascript·ecmascript
橘子星5 小时前
别光看教程!手把手拆解 React Todo 项目,一文吃透 5 个核心概念
前端·javascript