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 模板来构建你的包。
我正在尝试在 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 模板来构建你的包。