Как создать приложение Electron из существующего проекта React, не нарушая проект React - PullRequest
0 голосов
/ 20 октября 2019

У меня есть приложения 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/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...