在有网络连接的机器上打包 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 应用。
相关推荐
u***276140 分钟前
TypeScript 与后端开发Node.js
javascript·typescript·node.js
星空的资源小屋1 小时前
跨平台下载神器ArrowDL,一网打尽所有资源
javascript·笔记·django
Dorcas_FE1 小时前
【tips】动态el-form-item中校验的注意点
前端·javascript·vue.js
八月ouc2 小时前
解密JavaScript模块化演进:从IIFE到ES Module,深入理解现代前端工程化基石
javascript·es6·模块化·cmd·commonjs·amd·iife
四岁爱上了她2 小时前
input输入框焦点的获取和隐藏div,一个自定义的下拉选择
前端·javascript·vue.js
烟袅2 小时前
5 分钟把 Coze 智能体嵌入网页:原生 JS + Vite 极简方案
前端·javascript·llm
神秘的猪头3 小时前
🧠 深入理解 JavaScript Promise 与 `Promise.all`:从原型链到异步编程实战
前端·javascript·面试
白兰地空瓶3 小时前
从「似懂非懂」到「了如指掌」:Promise 与原型链全维度拆解
前端·javascript
湖边看客4 小时前
antd x6 + vue3
开发语言·javascript·vue.js
栀秋6664 小时前
当我把 proto 打印出来那一刻,我懂了JS的原型链
前端·javascript