問題描述
在使用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']
問題解決
