问题描述
在使用electron开发桌面系统时,遇到部分element-ui组件在页面中无法渲染的问题。我遇到的是el-table组件没有被渲染,导致无法显示数据。
解决方法
在electron-vue的描述文档中有一段关于白名单的说明,如下:
-
白名单里的外部组件
- 一个关于此配置的重要的事情是,你可以将特定的模块列入白名单,而不是把它视为 webpack 的 externals。并没有很多情况需要这个功能,但在某些情况下,对于提供原始的 *.vue 组件的 Vue UI 库,他们需要被列入白名单,以至于 vue-loader 能够编译它们。另一个使用情况是使用 webpack 的 alias,例如设置 vue 来导入完整的 编译+运行环境 的构建。因此,vue 已经在白名单中了。
由此可以判断,只需要将element-ui加入到这个白名单中就可以解决上面的问题。白名单配置文件为.electron-vue文件夹中的webpack.renderer.config.js文件,只需将代码
let whiteListedModules = ['vue']
修改为
let whiteListedModules = ['vue', 'element-ui']
问题解决