使用 electron-builder 打包后启动报错:
Reading /xxx/manifest.json failed.
Error: ENOENT: no such file or directory, open '/xxx/manifest.json'
at Object.fs.openSync (fs.js:558:18)
at Object.module.(anonymous function) [as openSync] (ELECTRON_ASAR.js:173:20)
at Object.fs.readFileSync (fs.js:468:33)
at Object.fs.readFileSync (ELECTRON_ASAR.js:506:29)
at getManifestFromPath (/xxx/node_modules/electron/dist/Electron.app/Contents/Resources/electron.asar/browser/chrome-extension.js:34:26)
at Function.BrowserWindow.addDevToolsExtension (/xxx/node_modules/electron/dist/Electron.app/Contents/Resources/electron.asar/browser/chrome-extension.js:373:22)
at App.Z.enabled.X.on (/xxx/webpack:/~/electron-debug/index.js:78:1)
at emitTwo (events.js:111:20)
at App.emit (events.js:191:7)
解决方法:
- 执行以下命令:
npm install vue-devtools --global
- 修改 src/main/index.dev.js 如下部分:
import { BrowserWindow } from 'electron'; //添加部分 /* eslint-disable */ // Install `electron-debug` with `devtron` // require('electron-debug')({ showDevTools: true }) require('electron-debug')() //修改此处 // Install `vue-devtools` require('electron').app.on('ready', () => { let installExtension = require('electron-devtools-installer') //注释掉 // installExtension.default(installExtension.VUEJS_DEVTOOLS) // .then(() => {}) // .catch(err => { // console.log('Unable to install `vue-devtools`: \n', err) // }) //添加 BrowserWindow.addDevToolsExtension('node_modules/vue-devtools/vender') }) // Require `main` process to boot app require('./index')
- 重新编译:
npm run build:win32
- 重新打包:
electron-builder
能正常启动了: