使用electron-vue时遇到的问题及解决
目录1. 安装yarn及本地模块依赖推荐使用管理员进行安装(win10右击开始栏windows选择Windows PowerShell(管理员))2. 创建electron-vue项目3. 运行项目时遇到的问题3.1. process is not defined在.electron-vue/webpack.renderer.config.js和.electron-vue/webpack.web.
·
1. 安装yarn及本地模块依赖
推荐使用管理员进行安装(win10右击开始栏windows选择Windows PowerShell(管理员))
npm install --global yarn
npm install -g node-gyp
npm install --global --production windows-build-tools
2. 创建electron-vue项目
// 创建项目
vue init simulatedgreg/electron-vue my-project
// 安装依赖(有条件可通过科学上网进行安装,否则有些地方会卡住)
cd my-project
yarn // 或者 npm install
yarn run dev // 或者 npm run dev
3. 运行项目时遇到的问题
3.1. process is not defined
在.electron-vue/webpack.renderer.config.js和.electron-vue/webpack.web.config.js文件中找到HtmlWebpackPlugin代码段并更改为如下代码:
new HtmlWebpackPlugin({
filename: 'index.html',
template: path.resolve(__dirname, '../src/index.ejs'),
templateParameters(compilation, assets, options) {
return {
compilation: compilation,
webpack: compilation.getStats().toJson(),
webpackConfig: compilation.options,
htmlWebpackPlugin: {
files: assets,
options: options
},
process,
};
},
minify: {
collapseWhitespace: true,
removeAttributeQuotes: true,
removeComments: true
},
nodeModules: process.env.NODE_ENV !== 'production'
? path.resolve(__dirname, '../node_modules')
: false
}),
3.2. vue-devtools报错
点此处下载devTools.zip并解压放在项目根目录中 提取码: aa84
修改 src/main/index.dev.js
// Install `vue-devtools`
require('electron').app.on('ready', () => {
// 注释掉的这部分是 Electron-Vue 中预装devtool的代码,没有用
// let installExtension = require('electron-devtools-installer')
// installExtension.default(installExtension.VUEJS_DEVTOOLS)
// .then(() => {})
// .catch(err => {
// console.log('Unable to install `vue-devtools`: \n', err)
// })
// 新增的:安装vue-devtools
BrowserWindow.addDevToolsExtension(path.resolve(__dirname, '../../devTools/vue-devtools'));
});
4.打包项目时遇到的问题(使用 electron builder)
4.1. 打包时报错app-builder
4.1.1 下载打包所必需的文件
nsis-resource-3.3.0.zip 提取码:7hb7
nsis-3.0.3.2 提取码:b444
winCodeSign-2.4.0 提取码:3ee9
electron-v2.0.18-win32-x64.zip 提取码:nrq3
chromedriver-v1.8.0-win32-x64.zip 提取码:gi8d
4.1.2. 打开 C:\Users\Administrator\AppData\Local\,按如下目录存放下载的文件
- electron
- Cache
- chromedriver-v1.8.0-win32-x64.zip
- electron-v2.0.18-win32-x64.zip
- Cache
解压nsis-resource-3.3.0.zip,nsis-3.0.3.2,winCodeSign-2.4.0
- electron-builder
- Cahe
- nsis
- nsis-3.0.3.2(解压后的文件)
- nsis-resource-3.3.0(解压后的文件)
- winCodeSign
- winCodeSign-2.4.0(解压后的文件)
- nsis
- Cahe
4.2. 运行时日志中报错"Extension server error: Object not found: ", source: chrome-devtools://devtools/bundled/inspector.js
4.2.1 在main/index.dev.js文件中找到require(‘electron-debug’)({ showDevTools: true });修改为
// NB: Don't open dev tools with this, it is causing the error
require('electron-debug')();
4.2.2 在 main/index.js文件中找到 mainWindow.loadURL(winURL);在下方添加:
// Open dev tools initially when in development mode
if (process.env.NODE_ENV === "development") {
mainWindow.webContents.on("did-frame-finish-load", () => {
mainWindow.webContents.once("devtools-opened", () => {
mainWindow.focus();
});
mainWindow.webContents.openDevTools();
});
}
5.隐藏窗体菜单
在 src/main/index.js中修改
mainWindow = new BrowserWindow({
height: 563,
useContentSize: true,
width: 1000,
autoHideMenuBar: true,
})
mainWindow.setMenu(null)
mainWindow.loadURL(winURL)
更多推荐
已为社区贡献7条内容
所有评论(0)