electron-vue+ElementUI开发到打包项目中的问题记录

1,使用 electron-vue 初始化项目时,electron版本是2.0.4,最好更新到最新版本。不然用 electron-updater 做应用自动更新时,会报错。

2,最好使用 npm 或者 yarn 来安装依赖,不要使用 cnpm,因为在使用 electron-vue 打包的时,会报一些莫名其妙的错误。可以将 node_modules 文件夹删掉,再 npm install 或 yarn add 。

3,在开发调试中,如果报错 require is not defined,只需要在初始化窗口中加入以下代码:

// electron在5.0.0版本之后,nodeIntegration默认为false
let win = new BrowserWindow({
    webPreferences: {
        nodeIntegration: true
    }
})

4,有的朋友是在2.0.4版本下完成开发的,然而将electron升级到最新版本后,无法请求后台API,无法跨域报错 by CORS policy: Response to preflight request doesn't pass access control check: Redirect is not allowed for a preflight request,在你的主进程代码中加入以下代码:

let mainWindow:
function createWindow(){
    // new BrowserWindow code
}
app.on('ready',createWindow);
// 加入以下代码
app.commandLine.appendSwitch('disable-features', 'OutOfBlinkCors');

 5,在集成ElementUI后,使用table组件但是无法渲染,解决办法:

  1),打开.electron-vue目录下的 webpack.renderer.config.js 文件

  2),搜索 whiteListedModules

  3),将这一行修改为:

let whiteListedModules = ['vue', 'element-ui']

  具体原因可以看这篇博文:https://blog.csdn.net/qq_17285877/article/details/96095936#_6

6,electron-vue中无法改变vuex状态,找到 src/renderer/store/index.js,注释掉 createSharedMutations 插件的调用:

import Vue from 'vue'
import Vuex from 'vuex'
import { createPersistedState, createSharedMutations } from 'vuex-electron'
import modules from './modules'
Vue.use(Vuex)

export default new Vuex.Store({
  modules,
  plugins: [
    createPersistedState(),
    // 注释这个插件的调用,该插件是用于多窗口共享状态的
    //createSharedMutations()
  ],
  strict: process.env.NODE_ENV !== 'production'
})

 7,electron-vue应用打包成.exe后,win32的系统无法安装,提示:“需要64位系统”,解决办法:

  1),打开项目 package.json 文件,找到 build 命令

"scripts": {
    "build": "node .electron-vue/build.js && electron-builder",
    "build:dir": "node .electron-vue/build.js && electron-builder --dir",
    "build:clean": "cross-env BUILD_TARGET=clean node .electron-vue/build.js",
    "build:web": "cross-env BUILD_TARGET=web node .electron-vue/build.js",
    "dev": "node .electron-vue/dev-runner.js",
    "pack": "npm run pack:main && npm run pack:renderer",
    "pack:main": "cross-env NODE_ENV=production webpack --progress --colors --config .electron-vue/webpack.main.config.js",
    "pack:renderer": "cross-env NODE_ENV=production webpack --progress --colors --config .electron-vue/webpack.renderer.config.js",
    "postinstall": ""
  },

  2),将 build 命令改成:(具体参数可以自行查看 electron-builder 文档)

"build": "node .electron-vue/build.js && electron-builder --win --ia32"

  3),重新执行 npm run build 即可

8,electron-vue应用安装好后,win7sp1 32位系统,打开应用白屏的解决办法:安装 .net framework 4.7.1 及以上版本,安装完毕重启电脑即可。

posted @ 2020-09-05 15:44  大吉大利obj  阅读(542)  评论(0)    收藏  举报