请教一下webpack多页面项目公共部分打包的解决方案

目前我在使用webpack做PC端多页面打包. 具体配置和网上的差不多. 现在是将 jquery, 框架用的avalon, axios , es6-promise, 全部打包在一个 vendor里. 但是打包完之后文件比较大, 开发时看不出来速度差别. 上线后vendor放在自己服务器里, 第一次打开首页速度出奇的慢, verdor加载最久. 白屏时间很久.

1.怎么正确使用CDN

我是想把vendor一整个放CDN里, 还是把 jquery ,avalon拆开用公共cdn比较好? 因为avalon和vue一样如果还没有实例化的话, 会用css把页面遮住.感觉做多页面把所有公共JS放在一个vendor速度反而变慢了.

2. 如果使用CDN, 我需要手动一个个页面加CDN的script标签吗?

一个个手动加, 难免容易出漏子. webpack怎么用html-webpack-plugin去添加我想要的 CDN地址的script标签呢.还是用publicPath ? 有点迷惑..

回复
阅读 3.3k
1 个回答

1.第三方的资源直接采用cdn的形式链接就可以了,公共的js可以采用 new webpack.optimize.CommonsChunkPlugin,其中可以用minChunks来指定公共代码的引用次数。
2.你的多页面应该是根据html-webpack-plugin插件指定某个模版来生成多个html的吧?只要在模版上注入cdn的资源就行了.

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏