我是 Electron-vite 和 React 的新手。我的项目有一个http节点服务器进程。所有相关文件都放置在服务器命名的文件夹中。 vite文件夹结构为main、renderer和preload。我已将服务器文件夹放在 src 中,这意味着它是主文件夹、渲染器文件夹、预加载文件夹和服务器文件夹。 server.js 位于服务器文件夹中。下面是失败的代码行
serverProcess = fork(path.join(__dirname, '../sync/server.js'), {
env: { PORT: 9090 }
})
失败了,
Cannot find module 'D:\codebase\syncer\out\server\server.js
package.json 有 "main": "./out/main/index.js",
它尝试在 out 文件夹中查找服务器代码。我不知道要提到什么(配置)来使用服务器文件夹中的所有文件夹和文件。平台是windows 11。请帮助我。
一种方法是使用电子构建器配置中的
extraResources
将服务器文件夹复制到最终版本中:
"build": {
"extraResources": [
{ "from": "server", "to": "server" }
]
}
然后可以通过检查它是开发还是生产来引用脚本:
const isDev = process.env.NODE_ENV === 'development';
const serverPath = isDev
? path.join(__dirname, '../server/server.js')
: path.join(process.resourcesPath, 'server', 'server.js');
const serverProcess = fork(serverPath, { env: { PORT: 9090 } });
这样,
server.js
就包含在构建中,防止出现“找不到模块”错误。