模块安装打包
npm install -g electron-forge
electron-forge init my-project --template=vue
npm start //进入目录启动
//打包成一个目录到out目录下,注意这种打包一般用于调试,并不是用于分发
npm run package
//打出真正的分发包,放在out\make目录下
npm run make
npx @electron-forge/cli@latest import
npx create-electron-app my-app
npm install mousetrap //快捷键绑定库
npm install worker_threads //工作线程模块
npm install worker-loader //
npm init //C++项目目录下初始化项目
npm install --global --production windows-build-tools
electron 将pc端(vue)页面打包为桌面端应用-CSDN博客
快速体验
npm install -g electron-prebuilt
git clone https://github.com/electron/electron-quick-start
cd electron-quick-start
npm install && npm start
cnpm install electron-packager -g
"scripts": {"package":"electron-packager . HelloWorld --platform=win32 --arch=x64 --icon=computer.ico --out=./out --asar --app-version=0.0.1 --overwrite --ignore=node_modules"
}
npm run package
GitHub - electron/electron-api-demos: Explore the Electron APIs
@python "%~dp0gyp_main.py" %*
JS调用C++
#include#include using namespace v8; // 传入了两个参数,args[0] 字符串,args[1] 回调函数 void hello(const FunctionCallbackInfo & args) { // 使用 HandleScope 来管理生命周期 Isolate* isolate = Isolate::GetCurrent(); HandleScope scope(isolate); // 判断参数格式和格式 if (args.Length() < 2 || !args[0]->IsString()) { isolate->ThrowException(Exception::TypeError( String::NewFromUtf8(isolate, "Wrong arguments"))); return; } // callback, 使用Cast方法来转换 Local callback = Local ::Cast(args[1]); Local argv[1] = { // 拼接String String::Concat(Local ::Cast(args[0]), String::NewFromUtf8(isolate, " world")) }; // 调用回调, 参数: 当前上下文,参数个数,参数列表 callback->Call(isolate->GetCurrentContext()->Global(), 1, argv); } // 相当于在 exports 对象中添加 { hello: hello } void init(Local