使用vue-cli创建项目之后会把所有的资源都打包到一个js文件,导致页面首次进入的时候速度很慢,这里使用了es6的语法来实现vue组件的懒加载,修改main.js文件
//import RoomWrap from './components/room/RoomWrap'
const RoomWrap = () => import('./components/room/RoomWrap')
这里用到了es6的语法,webpack检测到之后会自动为RoomWrap创建一个chunk ,只有页面使用到了RoomWrap这个组件的时候才会发起加载请求
不过我的项目还使用到了组件库vux , 按照上面的加载方式调试模式都是正常的,使用生产模式的时候打包出来的页面无法成功加载vux组件样式,审查页面源代码发现是由于vux组件的样式没有被提取到 app.xxxxx.css文件,具体原因未知,只能在main.js 文件中手动调用
import { ToastPlugin ,
TransferDomDirective as TransferDom,
XDialog,
XCircle,
Swiper,
SwiperItem,
Datetime,
XButton,
Toast,
Group,
Cell ,
Tab,
TabItem,
Actionsheet,
Loading ,
LoadingPlugin ,
Flexbox,
FlexboxItem,
Divider,Scroller
} from 'vux'
这样被异步加载的组件里面用的vux组件的样式就正常了