【问题标题】:Electron building issue for server along with the front end服务器和前端的电子构建问题
【发布时间】:2021-11-18 03:57:27
【问题描述】:

我有一个具有文件夹结构的电子应用程序 -

公共 -> index.html, main.js

服务器 -> server.js

src ->(所有前端应用样式和组件)

服务器在 localhost:3001 上运行,并监听来自前端的 Post 和 Get 命令,这些命令向 localhost:3001/exampleReq 提交请求

这是我的根的 package.json

 {
  "name": "test",
  "version": "1.0.0",
  "private": true,
  "proxy": "http://localhost:3001",
  "dependencies": {
    "@electron/remote": "^1.0.2",
    "@reduxjs/toolkit": "^1.6.1",
    "@testing-library/jest-dom": "^5.11.4",
    "@testing-library/react": "^11.1.0",
    "@testing-library/user-event": "^12.1.10",
    "@types/jest": "^24.9.1",
    "@types/node": "^12.12.37",
    "@types/react": "^16.9.34",
    "@types/react-dom": "^16.9.7",
    "@types/react-table": "^7.0.16",
    "@types/styled-components": "^5.1.0",
    "@types/yup": "^0.28.0",
    "antd": "4.17.0-alpha.0",
    "body-parser": "^1.19.0",
    "bootstrap": "^5.0.0-beta1",
    "electron-is-dev": "^1.2.0",
    "immutability-helper": "^3.1.1",
    "react": "^17.0.1",
    "react-beautiful-dnd": "^13.1.0",
    "react-dnd": "latest",
    "react-dnd-html5-backend": "latest",
    "react-dom": "^17.0.1",
    "react-filetree-electron": "^1.2.2",
    "react-highlight-words": "^0.17.0",
    "react-redux": "^7.2.5",
    "react-scripts": "4.0.1",
    "react-virtualized-auto-sizer": "^1.0.6",
    "react-window": "^1.8.6",
    "styled-components": "^5.1.0",
    "typescript": "^4.4.3",
    "web-vitals": "^0.2.4"
  },
  "main": "public/main.js",
  "homepage": "./",
  "scripts": {
    "start": "react-scripts start",
    "build": "react-scripts build",
    "test": "react-scripts test",
    "eject": "react-scripts eject",
    "electron:serve": "concurrently -k \"cross-env BROWSER=none yarn start\" \"yarn electron:start\" \"cd server && yarn start server\"",
    "electron:build": "yarn build && electron-builder -c.extraMetadata.main=build/main.js",
    "electron:start": "wait-on tcp:3000 && electron ."
  },
  "build": {
    "extends": null,
    "appId": "com.example.electron-cra",
    "files": [
      "dist/**/*",
      "build/**/*",
      "node_modules/**/*",
      "package.json"
    ],
    "directories": {
      "buildResources": "assets"
    }
  },
  "eslintConfig": {
    "extends": [
      "react-app",
      "react-app/jest"
    ]
  },
  "browserslist": {
    "production": [
      ">0.2%",
      "not dead",
      "not op_mini all"
    ],
    "development": [
      "last 1 chrome version",
      "last 1 firefox version",
      "last 1 safari version"
    ]
  },
  "devDependencies": {
    "concurrently": "^5.3.0",
    "cross-env": "^7.0.3",
    "electron": "^11.2.1",
    "electron-builder": "^22.9.1",
    "prettier": "^2.2.1",
    "wait-on": "^5.2.1"
  },
  "workspaces": [
    "src/Auto"
  ]
}

当我运行 yarn electron:serve 时,一切正常,应用程序和服务器都运行。

当我执行yarn electron:build 时,前端的东西会被编译,而不是服务器。我根本不相信服务器正在链接。

这是服务器文件夹的 package.json:

{
  "name": "server",
  "version": "1.0.0",
  "main": "server.js",
  "license": "MIT",
  "scripts": {
    "start": "nodemon server.js"
  },
  "type": "commonjs",
  "dependencies": {
    "cors": "^2.8.5",
    "express": "^4.17.1",
    "mongoose": "^6.0.7",
    "nodemon": "^2.0.13"
  }
}

关于如何修复构建部分的任何想法,以便我可以拥有一个 .exe 或 .dmg,一旦打开,一切都与运行 electron:serve 时相同?

这是electron:serve 链接服务器的方式

 "electron:serve": "concurrently -k \"cross-env BROWSER=none yarn start\" \"yarn electron:start\" \"cd server && yarn start server\""

【问题讨论】:

    标签: javascript node.js reactjs electron electron-builder


    【解决方案1】:

    对此的临时解决方案是将所有服务器代码公开。我想这是一个答案,但如果可能的话,我希望将文件夹分开。

    【讨论】:

    • 正如目前所写,您的答案尚不清楚。请edit 添加其他详细信息,以帮助其他人了解这如何解决所提出的问题。你可以找到更多关于如何写好答案的信息in the help center
    • 嗨@Jalen!欢迎来到 SO!如果可以包含在帖子中,请不要发布其他信息作为答案。人们会看到有答案,可能会选择不查看帖子!
    • 我的错,这是有道理的。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-31
    相关资源
    最近更新 更多