django-webpack体验

本身在django中写静态文件时,出过这样的问题: 对一个已经写好的文件(例: example.js, example.png, example.css),若是我再去修改/替换的话,若是最终文件的地址不变,用户的浏览器可能会由于缓存而依旧使用旧的文件。相似的,cdn服务商处可能也须要咱们去手动刷新以更新。这样既麻烦,也容易出错。css

以前在使用react的时候接触到了webpack,他有一个很方便的功能,就是可以修改文件名(增长hash码 [name]-[hash:8].js ), 从而实现区别新老版本的功能。在网上搜了一下,发现有 django-webpack-loader 这个库,使用了下,确实好用。react

简单看了下它的原理,主要是经过在webpack中引入BundleTracker,从而生成一个stats.json文件供模板中的render_bundle去读取。在webpack的不一样阶段,stats.json的内容不一样, 以告知render_bundle正在打包(compiling)/打包出错(error)/打包成功(done)。webpack

具体的使用姿式能够见官方博客git

另外,在使用了webpack后, 咱们可使用webpack的其余优秀功能,好比利用hmr在反复修改scss时不用去刷新浏览器,提升效率。github

最后,在网上搜icon-font时,找到了一个叫fontello的优秀开源解决方案,可以帮助咱们只引入须要的字体文件。若是用webpack的话,经过url-loader?limit=10000&name=images/[name].[ext]的配置可以进一步减小浏览器端的网络请求开销。到时候看看写不写这个东西吧。web

相关文章
相关标签/搜索