在有网络连接的机器上打包 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 应用。
相关推荐
梦境之冢1 小时前
axios 常见的content-type、responseType有哪些?
前端·javascript·http
racerun1 小时前
vue VueResource & axios
前端·javascript·vue.js
J总裁的小芒果1 小时前
THREE.js 入门(六) 纹理、uv坐标
开发语言·javascript·uv
m0_548514771 小时前
前端Pako.js 压缩解压库 与 Java 的 zlib 压缩与解压 的互通实现
java·前端·javascript
浮游本尊1 小时前
Nginx配置:如何在一个域名下运行两个网站
前端·javascript
新中地GIS开发老师1 小时前
《Vue进阶教程》(12)ref的实现详细教程
前端·javascript·vue.js·arcgis·前端框架·地理信息科学·地信
Cachel wood2 小时前
Django REST framework (DRF)中的api_view和APIView权限控制
javascript·vue.js·后端·python·ui·django·前端框架
放逐者-保持本心,方可放逐3 小时前
SSE 流式场景应用 及 方案总结
javascript·axios·fetch·eventsource
GZ同学3 小时前
Arcgis中python工具箱制造要点及统计要素图层字段信息工具分享
python·arcgis
白云~️3 小时前
uniappX 移动端单行/多行文字隐藏显示省略号
开发语言·前端·javascript