Windows Installer (.msi) 64-bit
。$ ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
$ brew install node
$ npm install electron@latest --save-dev
$ npm install trtc-electron-sdk@latest --save
const TRTCCloud = require('trtc-electron-sdk').default;// import TRTCCloud from 'trtc-electron-sdk';this.rtcCloud = new TRTCCloud();// 获取 SDK 版本号this.rtcCloud.getSDKVersion();
import TRTCCloud from 'trtc-electron-sdk';const rtcCloud: TRTCCloud = new TRTCCloud();// 获取 SDK 版本号rtcCloud.getSDKVersion();
electron-builder
进行打包,您可以执行如下命令安装 electron-builder
。$ npm install electron-builder@latest --save-dev
trtc_electron_sdk.node
文件),您还需要执行如下命令以安装 native-ext-loader
工具。$ npm install native-ext-loader@latest --save-dev
webpack.config.js
包含了项目构建的配置信息,webpack.config.js
文件的位置如下:webpack.config.js
位于项目的根目录。create-react-app
创建项目的情况下,此配置文件为 node_modules/react-scripts/config/webpack.config.js
。vue-cli
创建项目的情况下,webpack 的配置存放在 vue.config.js
配置中的 configureWebpack
属性中。webpack.config.js
在构建时可以接收名为 --target_platform
的命令行参数,以使代码构建过程按不同的目标平台特点正确打包,在 module.exports
之前添加以下代码:const os = require('os');const targetPlatform = (function(){let target = os.platform();for (let i=0; i<process.argv.length; i++) {if (process.argv[i].includes('--target_platform=')) {target = process.argv[i].replace('--target_platform=', '');break;}}if (!['win32', 'darwin'].includes) target = os.platform();return target;})();
os.platform()
返回的结果中,"darwin" 表示 Mac 平台。"win32" 表示 Windows 平台,不论 64 位还是 32 位。rules
选项中添加以下配置,targetPlatform
变量可以使 rewritePath
可以根据不同的目标平台切换不同的配置:rules: [{test: /\\.node$/,loader: 'native-ext-loader',options: {rewritePath: targetPlatform === 'win32' ? './resources' : '../Resources'// 针对开发环境// rewritePath: './node_modules/trtc-electron-sdk/build/Release'}},]
.exe
文件时,让 native-ext-loader
到 [应用程序根目录]/resources
目录下加载 TRTC SDK。.dmg
时,让 native-ext-loader
到 [应用程序目录]/Contents/Frameworsk/../Resources
目录下加载 TRTC SDK。native-ext-loader
到 ./node_modules/trtc-electron-sdk/build/Release
目录下加载 TRTC SDK,请参见 simple demo 配置。package.json
中的构建脚本中添加 --target_platform
参数,将在下一步进行。package.json
位于项目的根目录,其中包含了项目打包所必须的信息。但默认情况下,package.json
中的路径是需要修改才能顺利实现打包的,我们可以按如下步骤修改此文件: main
配置。// 多数情况下,main 文件名称可以任意配置,例如 TRTCSimpleDemo 中的可以配置为:"main": "main.electron.js",// 但是,使用 create-react-app 脚手架创建的项目,main 文件必须配置为:"main": "public/electron.js",
build
配置,添加到您的 package.json
文件中,这是 electron-builder
需要读取到的配置信息。"build": {"appId": "[appId 请自行定义]","directories": {"output": "./bin"},"win": {"extraFiles": [{"from": "node_modules/trtc-electron-sdk/build/Release/","to": "./resources","filter": ["**/*"]}]},"mac": {"extraFiles": [{"from": "node_modules/trtc-electron-sdk/build/Release/trtc_electron_sdk.node","to": "./Resources"}]}},
scripts
节点下添加以下构建和打包的命令脚本:
本文以 create-react-app
和 vue-cli
项目为例,其它工具创建的项目也可以参考此配置:// create-react-app 项目请使用此配置"scripts": {"build:mac": "react-scripts build --target_platform=darwin","build:win": "react-scripts build --target_platform=win32","compile:mac": "node_modules/.bin/electron-builder --mac","compile:win64": "node_modules/.bin/electron-builder --win --x64","pack:mac": "npm run build:mac && npm run compile:mac","pack:win64": "npm run build:win && npm run compile:win64"}// vue-cli 项目请使用此配置"scripts": {"build:mac": "vue-cli-service build --target_platform=darwin","build:win": "vue-cli-service build --target_platform=win32","compile:mac": "node_modules/.bin/electron-builder --mac","compile:win64": "node_modules/.bin/electron-builder --win --x64","pack:mac": "npm run build:mac && npm run compile:mac","pack:win64": "npm run build:win && npm run compile:win64"}
参数 | 说明 |
main | Electron 的入口文件,一般情况下可以自由配置。但如果项目使用 create-react-app 脚手架创建,则入口文件必须配置为 public/electron.js |
build.win.extraFiles | 打包 Windows 程序时,electron-builder 会把 from 所指目录下的所有文件复制到 bin/win-unpacked/resources(全小写) |
build.mac.extraFiles | 打包 Mac 程序时,electron-builder 会把 from 指向的 trtc_electron_sdk.node 文件复制到 bin/mac/your-app-name.app/Contents/Resources(首字母大写) |
build.directories.output | 打包文件的输出路径。例如这个配置会输出到 bin 目录下,可根据实际需要修改 |
build.scripts.build:mac | 以 Mac 平台为目标构建脚本 |
build.scripts.build:win | 以 Windows 平台为目标构建脚本 |
build.scripts.compile:mac | 编译为 Mac 下的 .dmg 安装文件 |
build.scripts.compile:win64 | 编译为 Windows 下的 .exe 安装文件 |
build.scripts.pack:mac | 先调用 build:mac 构建代码,再调用 compile:mac 打包成 .dmg 安装文件 |
build.scripts.pack:win64 | 先调用 build:win 构建代码,再调用 compile:win64 打包成 .exe 安装文件 |
$ cd [项目目录]$ npm run pack:mac
bin/your-app-name-0.1.0.dmg
安装文件,请选择此文件发布。$ cd [项目目录]$ npm run pack:win64
bin/your-app-name Setup 0.1.0.exe
安装文件,请选择此文件发布。
本页内容是否解决了您的问题?