【发布时间】:2018-11-17 01:33:00
【问题描述】:
我正在尝试将多个 Vue 组件作为一个块导入,我最好只使用 magic comment 来分配一次块名。
这是我尝试过的:
import(/* webpackChunkName: 'googlemap' */ '@/components/maps');
还有我要导入的文件:
import Vue from 'vue';
Vue.component('google-map', () => import('@/components/maps/GoogleMapAsync.vue'));
Vue.component('widget', () => import('@/components/maps/widgets/WidgetAsync.vue'));
Vue.component('price-widget', () => import('@/components/maps/widgets/PriceWidgetAsync.vue'));
Vue.component('map-marker', () => import('@/components/maps/marker/MapMarkerAsync.vue'));
Vue.component('map-price-marker', () => import('@/components/maps/marker/MapPriceMarkerAsync.vue'));
这不会创建名称为googlemap 的正确块。以前我只是将webpackChunkName 放在每个导入的前面,但我只想分配一次webpackChunkName,因为这些组件无论如何都只会被分组。
我正在尝试做的与此相同:
https://hackernoon.com/effective-code-splitting-in-react-a-practical-guide-2195359d5d49#697a
还有其他方法可以让它工作吗?
【问题讨论】:
-
遇到类似问题,解决这个问题有什么乐趣吗?
-
并非如此。我已采取一一导入它们并为每个设置正确的
webpackChunkName。目前它似乎无法正常工作,但我没有花太多时间来解决这个问题。 -
也许是 webpack 4,github.com/vuejs-templates/webpack/issues/1280。注意到一条评论已命名为块。
-
我认为你必须使用 double quotes 作为块名称。按照webpack.js.org/guides/code-splitting 的官方指南和对我的 webpack 配置的调整,我成功地使用了命名块的代码拆分。
标签: webpack vue.js vuejs2 vue-component code-splitting