如何使用 webpack2 在 vuejs2 中呈现异步组件
How to render async-component in vuejs2 with webpack2
我想动态呈现特定组件,因此将其定义为异步组件,如下所示:
Vue.component('AsyncComponent', function (resolve) {
require(['./components/async-component.vue'], resolve)
});
但是出现这个错误
Error: Loading chunk 0 failed.
at HTMLScriptElement.onScriptComplete (app.js:99)
所以主要的问题是chunk文件的路径没有在任何地方指定,抛出404错误,还有没有webpack配置,我需要提前specify.Thank你
你可以只使用 dynamic import
:
const AsyncComponent = () => import ('./components/async-component.vue');
然后全局注册:
Vue.component('AsyncComponent', AsyncComponent);
或者简单地说:
Vue.component('AsyncComponent', () => import('./components/async-component.vue');
尽管如果您使用 vue-loader 13
或更高版本,这将不起作用,除非您设置 esModule option to false
. see Release Notes
我想动态呈现特定组件,因此将其定义为异步组件,如下所示:
Vue.component('AsyncComponent', function (resolve) {
require(['./components/async-component.vue'], resolve)
});
但是出现这个错误
Error: Loading chunk 0 failed. at HTMLScriptElement.onScriptComplete (app.js:99)
所以主要的问题是chunk文件的路径没有在任何地方指定,抛出404错误,还有没有webpack配置,我需要提前specify.Thank你
你可以只使用 dynamic import
:
const AsyncComponent = () => import ('./components/async-component.vue');
然后全局注册:
Vue.component('AsyncComponent', AsyncComponent);
或者简单地说:
Vue.component('AsyncComponent', () => import('./components/async-component.vue');
尽管如果您使用 vue-loader 13
或更高版本,这将不起作用,除非您设置 esModule option to false
. see Release Notes