【发布时间】: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