在我的主项目文件中,我添加了一个目录“/api”,其中包含JS中的API文件。 我可以成功运行该项目,但只能在开发模式下运行(
npm run dev
)。当我运行 npm run build:win
时,它不起作用。
import { app, shell, BrowserWindow, ipcMain } from 'electron'
import { fork } from 'child_process'
import { join } from 'path'
import { electronApp, optimizer, is } from '@electron-toolkit/utils'
fork('api/main.js') //<- works ok only in dev
function createWindow(): void {
// Create the browser window.
const mainWindow = new BrowserWindow({
width: 370,
height: 600,
show: false,
autoHideMenuBar: true,
webPreferences: {
preload: join(__dirname, '../preload/index.js'),
sandbox: false
}
})
引用这些文件的正确方法是什么?我是否需要在配置中添加一些内容才能将我的 API 文件夹包含在最终版本中?
生产中
__dirname
将解析为ASAR。 为了解决这个问题,如果应用程序已打包,请使用 app.getAppPath()
:
const { app } = require('electron');
const rootPath = app.isPackaged ? app.getAppPath() : __dirname;