本文由vivo技术团队Yang Kun分享,原题“electron 应用开发优秀实践”,即时通讯网有修订。
Electron = Chromium + Node.js + Native API
const os = require('os') const platform = os.platform() const config = { packagerConfig: { // 可以将 ffmpeg 目录打包到 asar 目录外面 extraResource: [`./src/main/ffmpeg/`] } }
import { app } from 'electron' import os from 'os' import path from 'path' const platform = os.platform() const dir = app.getAppPath() let basePath = '' if(app.isPackaged) basePath = path.join(process.resourcesPath) else basePath = path.join(dir, 'ffmpeg') const isWin = platform === 'win32' // ffmpeg 二进制程序路径 const ffmpegPath = path.join(basePath, `${platform}`, `ffmpeg${isWin ? '.exe' :
const platform = os.platform() const config = { packagerConfig: { extraResource: [`./src/main/ffmpeg/${platform}`] }, }
yarn autoclean -I yarn autoclean -F
require('v8-compile-cache')
export function share() { const kun = require('kun') kun() }
const { fork } = require('child_process') let { app } = require('electron') function createProcess(socketName) { process = fork(`xxxx/server.js`, [ '--subprocess', app.getVersion(), socketName ]) } const initApp = async () => { // 其他初始化代码... let socket = await findSocket() createProcess(socket) } app.on('ready', initApp)
fn sum(a: f64, b: f64) -> f64 { a + b }
use napi_derive::napi; #[napi] fn sum(a: f64, b: f64) -> f64 { a + b }
import { sum as rsSum } from '@rebebuca/native' // 输出 7 console.log(rsSum(2, 5))
来源:即时通讯网 - 即时通讯开发者社区!
轻量级开源移动端即时通讯框架。
快速入门 / 性能 / 指南 / 提问
轻量级Web端即时通讯框架。
详细介绍 / 精编源码 / 手册教程
移动端实时音视频框架。
详细介绍 / 性能测试 / 安装体验
基于MobileIMSDK的移动IM系统。
详细介绍 / 产品截图 / 安装体验
一套产品级Web端IM系统。
详细介绍 / 产品截图 / 演示视频
精华主题数超过100个。
连续任职达2年以上的合格正式版主
为论区做出突出贡献的开发者、版主等。
Copyright © 2014-2024 即时通讯网 - 即时通讯开发者社区 / 版本 V4.4
苏州网际时代信息科技有限公司 (苏ICP备16005070号-1)
Processed in 0.140625 second(s), 38 queries , Gzip On.