У меня есть приложения React, которые публикуются на рабочих веб-серверах, но я хочу запускать их с рабочего стола, используя Electron. Однако я не хочу беспокоить пакет React App package.json. Я попытался отделить существующее онлайн-руководство от Paachu на Medium, но безуспешно. Не удалось найти «main ... chunk.css» и другие ресурсы, необходимые для приложения React.
С учетом сказанного у меня есть работающее приложение React в каталоге ./projx/reactApp Я хотел бысоздать приложение Electron в ./projx/electronApp, которое создаст и создаст упакованный исполняемый файл с использованием электронного компоновщика. В настоящее время среда разработки не требуется, поскольку для распространения мне нужен только пакет выпуска. Вот файл package.json, который почти работает:
{
"name": "wrappedReact",
"version": "1.0.0",
"main": "./src/electron.js",
"scripts": {
"preclean": "cross-env rm -rf build",
"react-prebuild": "cross-env cp -r ../reactApp/build build",
"build-tsapp": "tsc ./src/electron.ts",
"electron-prebuild": "mv ./src/*.js ../build",
"electron-build": "npm run electron-prebuild && electron-builder",
"build": "npm run preclean && npm run electron-build",
"startdev": "concurrently \"tsc ./src/electron.ts -w\" \"cross-env
NODE_ENV=dev nodemon --exec \"\"wait-on http://localhost:3000 &&
electron src/electron.js\"\""
},
"author": "sfanjoy",
"homepage": "./",
"electron-pack": "build --em.main=build/electron.js",
"build": {
"appId": "com.example.reactApp",
"productName": "ReactApp",
"copyright": "Copyright © 2019 sfanjoy",
"files": [
"build/**/*",
"node_modules/**/*"
],
"directories": {
"buildResources": "assets"
},
"win": {
"target": "portable",
"icon": "assets/app.ico"
}
},
"dependencies": {
"@types/electron": "^1.6.10"
},
"devDependencies": {
"@types/electron": "^1.6.10",
"concurrently": "^4.1.1",
"cross-env": "^5.2.1",
"electron-builder": "^21.2.0",
"electron-is-dev": "^1.1.0",
"nodemon": "^1.19.1",
"typescript": "^3.5.2",
"wait-on": "^3.2.0"
}
}
Я думаю, что решение заключается в построителе электронов, если бы он позволил вам вставить ./src/electron.js в предварительно созданный реагирующий_прием \ приложение \ dist \ dist \беспроигрышная распакованы \ Resources \ app.asar. Затем я мог бы скопировать каталогactApp / build, внедрить его в asar и вызвать электронный строитель.
На данный момент (IMO) это лучшая начальная установка (Boilerplate), с которой я столкнулся: https://github.com/nateshmbhat/electron-react-ts-starter/