【发布时间】:2020-01-30 19:56:31
【问题描述】:
我正在使用 webpack 分块来拆分我的组件
使用这两个库 -
- "babel-plugin-dynamic-import-webpack": "^1.1.0",
- "babel-plugin-syntax-dynamic-import": "^6.18.0",
当我对组件进行延迟加载时 -
const component1 = () => import(/* webpackChunkName: "components" */ '../components/Component1.vue');
效果很好 但是当我尝试延迟加载像 bootstrap-vue 这样的库时 -
const BootstrapVue = () => import(/* webpackChunkName: "bootstrap-vue" */ 'bootstrap-vue')
Vue.use(BootstrapVue);
它给了我一个错误,说 bootstrap-vue 组件是未知的 -
错误信息:Unknown custom element: <b-container> - did you register the component correctly?
但如果我只是正常地做import BootstrapVue from 'bootstrap-vue',它就可以正常工作。但它没有代码拆分。
使用 webpack 分块导入库并制作自己的文件的好方法是什么?
Webpack 配置。我正在使用 laravel-mix -
webpackConfig.output = {
chunkFilename: 'js/[name].bundle.js',
publicPath: '/',
}
【问题讨论】:
-
虽然这不是一个直接的答案,但您可能需要查看:bootstrap-vue.js.org/docs/#tree-shaking-with-module-bundlers 以了解导入部分
bootstrap-vue的情况
标签: javascript laravel vue.js webpack babeljs