问题描述
我指的是以下内容。
https://element.eleme.io/#/en-US/component/quickstart#on-demand
所以我遵循了说明,但是我正在使用基于类的组件。因此,导入如下。
import {CheckBox} from 'element-ui';
@Component({
components: { CheckBox
}
})
export default class Work extends Vue {
}
但是捆绑包似乎仍包含整个元素ui,而不仅仅是按钮组件。
当我运行npm运行build时。它会创建800 kb以上的供应商数据块。并且该块包含其他组件代码(即拾色器和所有其他代码)
他们提到编辑.babelrc:如下:
{
"presets": [["es2015",{ "modules": false }]],"plugins": [
[
"component",{
"libraryName": "element-ui","styleLibraryName": "theme-chalk"
}
]
]
}
但是我没有将组件全局用作插件。所以我没有做那改变。
如何减少元素ui包并仅包含必需的组件,从而使供应商块更小?
解决方法
即使我们没有将组件全局用作插件,也需要babel设置。我误以为他们的声明说这些仅适用于全局插件,因为示例使用的是Vue.use(Pagination);
。
它可与babel.config.js中的babel config一起使用。
module.exports = {
presets: [
'@vue/app'
],"plugins": [
[
"component",{
"libraryName": "element-ui","styleLibraryName": "theme-chalk"
}
]
]
}
并安装以下软件包。 npm install babel-plugin-component -D