[flask 优化] 由flask-bootstrap,flask-moment引起的访问速度慢的原因及解决办法
一周時間快速閱讀了400頁的《javascript基礎(chǔ)教程》,理解了主要概念。解決了一個很久之前的疑問。
我的網(wǎng)站是使用flask框架搭建的,介紹flask web的一本著名的書(之前提到過)作者搭建個人博客時,向讀者推薦了flask-bootstrap,flask_moment這兩個庫,前者能快速的解決前端樣式問題,后者提供了時間戳功能。
但在某種情況下,比如網(wǎng)絡延遲或者運營商的問題,訪問網(wǎng)站速度非常慢,狀態(tài)欄提示“從cdnjs.cloudflare.com傳輸文件”,這說明某一部分調(diào)用了外部鏈接,打開firefox的開發(fā)者工具在網(wǎng)絡標簽可以看到:正在從網(wǎng)絡上獲取moment.js或者bootstrap.js,地址是cdnjs.cloudflare.com,應該換掉這些慢的資源,讓網(wǎng)站加載更快。
如圖第六條是調(diào)用flask-moment從國外cdn加載的js文件:
有兩種辦法解決這個問題:
1、把那些加載很慢的js文件下載后放到網(wǎng)站的服務器上,從服務器加載js文件
2、從速度較快的其他國內(nèi)cdn加載js文件
選擇第二種辦法,在項目環(huán)境下site-packages文件中,找到bootstrap文件下的init文本,修改下面的地址為:
bootstrap = lwrap(WebCDN('//cdn.bootcss.com/bootstrap/%s/' % BOOTSTRAP_VERSION), local)jquery = lwrap(WebCDN('//cdn.bootcss.com/jquery/%s/' % JQUERY_VERSION), local)html5shiv = lwrap(WebCDN('//cdn.bootcss.com/html5shiv/%s/' % HTML5SHIV_VERSION))respondjs = lwrap(WebCDN('//cdn.bootcss.com/respond.js/%s/' % RESPONDJS_VERSION))找到moment.py文件,用以下地址替換其中cdn地址:(去掉版本號變量和%s,因為不同服務商的文件存儲路徑和版本號格式可能不一樣)
https://cdn.bootcss.com/moment.js/2.18.1/locale/af.js然后重啟服務器,試一下訪問速度:(看最后一條:從cdn.bootcss.com獲取js文件,只有2.35kb,只需36毫秒。從國外cdn首次加載要一兩秒至十幾秒不等)
?
這樣就避免了有些時候瀏覽器一直卡在獲取國外cdn數(shù)據(jù)的情況。
?
參考資料:
https://zhuanlan.zhihu.com/p/23412590
?
轉(zhuǎn)載于:https://www.cnblogs.com/xiaozhaoqi/p/7397054.html
總結(jié)
以上是生活随笔為你收集整理的[flask 优化] 由flask-bootstrap,flask-moment引起的访问速度慢的原因及解决办法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: selenium 基本的键盘方法
- 下一篇: 窗口尺寸,文档高,元素宽高的获取方式