简介
Vue的官网中提到了有关异步组件的语法,链接如下:
https://cn.vuejs.org/v2/guide/components-dynamic-async.html
可以使用require,也可以使用import,如果使用import,那么语法是这样的。
new Vue({
// ...
components: {
'my-component': () => import('./my-async-component')
}
})
这里的关键就是()=>import(’./my-async-component’)这一句,import函数会返回一个Promise,从而达到异步加载的效果。然后如果你和我一样是启用了ESLint的vue CLI项目的话,那么这样写就会得到一个报错,即:
import’ and ‘export’ may only appear at the top level。
意思是import和export没有放到全局(顶层块作用域),如果你使用的是require,那么应该也会报类似的错误,这里就不在探究,因为import和require在vue CLI项目中的作用是类似的。接下来我说说怎么解决,还有解决的思路。
解决方案
通过报错信息我们不难看出,这一句报错实际上是ESLint的报错,我们写的代码从语法上根本没有任何问题,因此我们只需要