let externals ={'axios':'axios','element-ui':'ELEMENT','echarts':'echarts',}configureWebpack:{externals: externals }
2.配置cdn包资源
// 配置let cdn ={css:[// element-ui css'https://unpkg.com/element-ui/lib/theme-chalk/index.css',// 样式表],js:[// vue must at first!'https://unpkg.com/vue/dist/vue.js',// vuejs// element-ui js'https://unpkg.com/element-ui/lib/index.js',// elementUI]}// 插入html的属性中chainWebpack(config){config.plugin('html').tap(args=>{args[0].cdn = cdnreturn args})}
3.在public文件夹下的html的head标签中插入cdn资源
<%for(var css of htmlWebpackPlugin.options.cdn.css){%><link rel="stylesheet" href="<%=css%>"/><%}%><%for(var js of htmlWebpackPlugin.options.cdn.js){%><script src="<%=js%>"></script><%}%>
注意:ui组件的css要在mian.js中注释掉(如import ‘element-ui/lib/theme-chalk/index.css’),因为我们在externals并没有去定义排除。其他的能在externals定义的资源(如import ElementUI from ‘element-ui’;Vue.use(ElementUI)),都不需要改动,打包后也没有啥影响。还有ui组件我用的整体引入的方式,按需引入配置有点麻烦,就没去弄了。