Vue.js 2.0 延迟加载

Vue.js 2.0 Lazy Loading

我正在尝试在 Vue.js 2.0 中延迟加载我的组件(在 Laravel 5.3 项目中)。

根据 documentation 我应该这样做:

Vue.use(VueRouter);

const Forum = resolve => require(['./Components/Forum/Forum.vue'], resolve);

export default new VueRouter({
    mode: 'history',
    routes: [

        /**
         * Forum
         */

        {
            name: 'Forum',
            path: '/forum',
            component: Forum,
            meta: { requiresAuth: true }
        }
    ]
});

但是我得到了很多错误:

Uncaught SyntaxError: Unexpected token <
app.js:130 Error: Loading chunk 0 failed.
    at HTMLScriptElement.onScriptComplete (app.js:84)
__webpack_require__.oe @ app.js:130
vue-router.common.js?37ec:80 [vue-router] Failed to resolve async component default: Error: Loading chunk 0 failed.

我正在使用 Laravel Elixir 这是我的 gulp 文件:

elixir(mix => {
    mix.webpack('app.js')
        .styles([
            './node_modules/normalize-css/normalize.css',
            './node_modules/nprogress/nprogress.css',
            './node_modules/sweetalert/dist/sweetalert.css'
            ])
        .stylus('app.styl');
});

我做错了什么?

真的对我有帮助。

Laravel Elixir 不支持延迟加载 Vue 组件。你必须升级到 5.4,在那里你将获得 webpack 支持,或者你必须使用 vue-webpack 模板来构建你的包。