Я хочу использовать некоторые выбранные вручную компоненты из ElementUi вместо полного пакета.
Я использую laravel -mix для компиляции и минимизации моих пакетов .
Кажется, это не имеет значения, если я зарегистрирую только 2 компонента или полный комплект в моем App.vue
, потому что
import Vue from 'vue';
import { Button, Select } from 'element-ui';
import 'element-ui/lib/theme-chalk/index.css';
Vue.use(Button)
Vue.use(Select)
const app = new Vue({
el: '#app'
});
и
import Vue from 'vue';
import ElementUI from 'element-ui';
import 'element-ui/lib/theme-chalk/index.css';
Vue.use(ElementUI);
new Vue({
el: '#app'
});
оба заканчиваются компиляцией в app.js
размера 687kb
. Почему это так?
Это моя webpack.mix.js
конфигурация:
const mix = require('laravel-mix');
mix.webpackConfig({
externals: {
vue: 'Vue'
}
});
mix.options({
extractVueStyles: 'public/css/components.css',
purifyCss: true,
});
mix.js('resources/assets/js/app.js', 'public/js')
Если я попробую то же самое с Buefy, как объяснено здесь , тогда размер пакета будет большим разница, таблица + вход только 50kb
, а полный пакет 222kb
.