元素 UI 包括所有 components.Making 大包大小
Element UI including all components.Making large bundle size
我指的是以下内容。
https://element.eleme.io/#/en-US/component/quickstart#on-demand
所以我按照说明进行操作,但我使用的是基于 class 的组件。所以导入如下。
import {Checkbox} from 'element-ui';
@Component({
components: { Checkbox
}
})
export default class Work extends Vue {
}
但是 bundle 似乎仍然包含整个元素 ui,而不仅仅是按钮组件。
当我 运行 npm 运行 build 时。它创建了 800+ kb 的供应商块。该块包含其他组件代码(即颜色选择器和所有其他代码)
他们提到编辑 .babelrc: 如下:
{
"presets": [["es2015", { "modules": false }]],
"plugins": [
[
"component",
{
"libraryName": "element-ui",
"styleLibraryName": "theme-chalk"
}
]
]
}
但我并没有在全局范围内使用组件作为插件。所以我没有做那个改变。
如何减少元素 ui 捆绑并仅包含 required 组件,从而使供应商块更小?
即使我们不在全局范围内使用我们的组件作为插件,我们也需要 babel 设置。因为我误会了他们的说法,即这些仅适用于全局插件,因为示例使用 Vue.use(Pagination);
.
它与 babel 配置一起工作,如下 babel.config.js。
module.exports = {
presets: [
'@vue/app'
],
"plugins": [
[
"component",
{
"libraryName": "element-ui",
"styleLibraryName": "theme-chalk"
}
]
]
}
并安装以下软件包。
npm 安装 babel-plugin-component -D
我指的是以下内容。
https://element.eleme.io/#/en-US/component/quickstart#on-demand
所以我按照说明进行操作,但我使用的是基于 class 的组件。所以导入如下。
import {Checkbox} from 'element-ui';
@Component({
components: { Checkbox
}
})
export default class Work extends Vue {
}
但是 bundle 似乎仍然包含整个元素 ui,而不仅仅是按钮组件。
当我 运行 npm 运行 build 时。它创建了 800+ kb 的供应商块。该块包含其他组件代码(即颜色选择器和所有其他代码)
他们提到编辑 .babelrc: 如下:
{
"presets": [["es2015", { "modules": false }]],
"plugins": [
[
"component",
{
"libraryName": "element-ui",
"styleLibraryName": "theme-chalk"
}
]
]
}
但我并没有在全局范围内使用组件作为插件。所以我没有做那个改变。
如何减少元素 ui 捆绑并仅包含 required 组件,从而使供应商块更小?
即使我们不在全局范围内使用我们的组件作为插件,我们也需要 babel 设置。因为我误会了他们的说法,即这些仅适用于全局插件,因为示例使用 Vue.use(Pagination);
.
它与 babel 配置一起工作,如下 babel.config.js。
module.exports = {
presets: [
'@vue/app'
],
"plugins": [
[
"component",
{
"libraryName": "element-ui",
"styleLibraryName": "theme-chalk"
}
]
]
}
并安装以下软件包。 npm 安装 babel-plugin-component -D