Dan*_*liz 5 javascript firewall socket.io electron electron-builder
我正在使用电子构建器构建一个便携式应用程序,并使用socket.io与后端服务保持实时连接,但我遇到了防火墙问题。因为这是一个便携式应用程序,每次打开该应用程序时,它看起来都被提取到临时文件夹中,这将在每次运行时生成一个新文件夹(因此应用程序的路径会有所不同),这将使防火墙认为这是是另一个要求连接权限的应用程序。运行应用程序时如何更改提取路径?
(这是我每次运行应用程序时得到的屏幕)

这是我的 socket.io 配置
const io = require("socket.io")(6524);
io.on("connect", socket => {
socket.on("notification", data => {
EventBus.$emit("notifications", JSON.parse(data));
});
});
Run Code Online (Sandbox Code Playgroud)
我的构建设置 package.json
"build": {
"productName": "xxx",
"appId": "xxx.xxx.xxx",
"directories": {
"output": "build"
},
"files": [
"dist/electron/**/*",
"!**/node_modules/*/{CHANGELOG.md,README.md,README,readme.md,readme,test,__tests__,tests,powered-test,example,examples,*.d.ts}",
"!**/node_modules/.bin",
"!**/*.{o,hprof,orig,pyc,pyo,rbc}",
"!**/._*",
"!**/{.DS_Store,.git,.hg,.svn,CVS,RCS,SCCS,__pycache__,thumbs.db,.gitignore,.gitattributes,.editorconfig,.flowconfig,.yarn-metadata.json,.idea,appveyor.yml,.travis.yml,circle.yml,npm-debug.log,.nyc_output,yarn.lock,.yarn-integrity}",
"!**/node_modules/search-index/si${/*}"
],
"win": {
"icon": "build/icons/myicon.ico",
"target": "portable"
}
},
Run Code Online (Sandbox Code Playgroud)
关于至少如何指定提取路径或将其提取为执行文件夹的任何想法?
顺便说一句,我已经在电子制造商回购中创建了一个关于此的问题
在版本中20.40.1他们添加了一个新的配置密钥unpackDirName
/**
* The unpack directory name in [TEMP](https://www.askvg.com/where-does-windows-store-temporary-files-and-how-to-change-temp-folder-location/) directory.
*
* Defaults to [uuid](https://github.com/segmentio/ksuid) of build (changed on each build of portable executable).
*/
readonly unpackDirName?: string
Run Code Online (Sandbox Code Playgroud)
例子
config: {
portable: {
unpackDirName: "0ujssxh0cECutqzMgbtXSGnjorm",
}
}
Run Code Online (Sandbox Code Playgroud)
更多信息#3799。
| 归档时间: |
|
| 查看次数: |
1629 次 |
| 最近记录: |