作者:众成 文章来源:软件部 点击数: 更新时间:2019-09-29 15:08:55
import MuseUI
from 'muse-ui'import 'muse-ui/dist/muse-ui.css'import 'muse-ui/dist/theme-light.css'
Vue.use(MuseUI)
修改后:
import appBar
from 'muse-ui/src/appBar'import toast
from 'muse-ui/src/toast'import drawer
from 'muse-ui/src/drawer'import popup
from 'muse-ui/src/popup'
Vue.component(appBar.name, appBar);
Vue.component(toast.name, toast);
Vue.component(drawer.name, drawer);
Vue.component(popup.name, popup);
这里有点麻烦的就是你要把整个项目用到的muse-ui组件都注册一遍,当然你也可以只在用到的页面做局部引用.
在当前项目引用了16个muse-ui组件的情况下 css减少了80kb,js减少了快200kb.
before:38291ms
import search
from './search.vue'
{
path: '/search',
name: 'search',
component: search
}
after:
const search =
resolve => require([
'./search.vue'], resolve);
{
path: '/search',
name: 'search',
component: search
}
具体我们来看看改造后的效果:
这样,verdor.js 又小了56kb.因为首页根本用不到vue-baidu-map. 当然这样会带来一个问题:当多个页面使用vue-baidu-map,会出现多个页面重复打包.
怎么异步加载插件,这个我还没搞明白...
npm run build
--report
来查看依赖关系.然后再根据具体情况划分代码块.效果图就是上面那张花里胡哨的图...它清楚的告诉你了打包时模块划分的情况.
638.7kb vs 286.2kb