求助:vue 多页面项目如何让各个页面按需加载 element-ui 组件
发布于 3 年前 作者 clubadmin 1576 次浏览 来自 问答
粉丝福利 : 关注VUE中文社区公众号,回复视频领取粉丝福利

1. 问题
通过 vue.config.js 的 pages 选项配置了两个页面 index 和 home,里面都会用到 element-ui 组件,希望通过配置 splitChunks 插件在打包的时候,各自页面能打包出只引入自己需要的 element-ui 组件的js文件(如 index-elelment-ui.js , home-element-ui.js),但是两个页面的 element-ui 组件最终会打包到一起。

假设有一下demo:
index页面只需要 el-button 组件,根据 element-ui 官网按需加载的指引,在 src/pages/index /plugins/element-ui.js 配置引入 button 组件

import Vue from "vue";
import { Button } from "element-ui";
Vue.use(Button);

同样的,假设在 home 页面只需要 el-input 组件,在 src/pages/home /plugins/element-ui.js 配置引入 input 组件

import Vue from "vue";
import { Input } from "element-ui";
Vue.use(Input);

尝试着对 index 页面引入的所以 plugins 都打包到一起(element-ui按需引用的js 在此文件夹下)
如果直接配置 test: /[\/]index[\/]plugins[\/]/,会打包出一个 index.plugins.xxx.js,里面会包含 element-ui.js,但是 el-button 相关文件并没有被打包进去。
image

有没有大神知道如何分离不同页面的 element-ui 组件到不同的 js 中啊 !

回到顶部