[flask 优化] 由flask-bootstrap,flask-moment引起的访问速度慢的原因及解决办法
一周時(shí)間快速閱讀了400頁(yè)的《javascript基礎(chǔ)教程》,理解了主要概念。解決了一個(gè)很久之前的疑問(wèn)。
我的網(wǎng)站是使用flask框架搭建的,介紹flask web的一本著名的書(shū)(之前提到過(guò))作者搭建個(gè)人博客時(shí),向讀者推薦了flask-bootstrap,flask_moment這兩個(gè)庫(kù),前者能快速的解決前端樣式問(wèn)題,后者提供了時(shí)間戳功能。
但在某種情況下,比如網(wǎng)絡(luò)延遲或者運(yùn)營(yíng)商的問(wèn)題,訪問(wèn)網(wǎng)站速度非常慢,狀態(tài)欄提示“從cdnjs.cloudflare.com傳輸文件”,這說(shuō)明某一部分調(diào)用了外部鏈接,打開(kāi)firefox的開(kāi)發(fā)者工具在網(wǎng)絡(luò)標(biāo)簽可以看到:正在從網(wǎng)絡(luò)上獲取moment.js或者bootstrap.js,地址是cdnjs.cloudflare.com,應(yīng)該換掉這些慢的資源,讓網(wǎng)站加載更快。
如圖第六條是調(diào)用flask-moment從國(guó)外cdn加載的js文件:
有兩種辦法解決這個(gè)問(wèn)題:
1、把那些加載很慢的js文件下載后放到網(wǎng)站的服務(wù)器上,從服務(wù)器加載js文件
2、從速度較快的其他國(guó)內(nèi)cdn加載js文件
選擇第二種辦法,在項(xiàng)目環(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地址:(去掉版本號(hào)變量和%s,因?yàn)椴煌?wù)商的文件存儲(chǔ)路徑和版本號(hào)格式可能不一樣)
https://cdn.bootcss.com/moment.js/2.18.1/locale/af.js然后重啟服務(wù)器,試一下訪問(wèn)速度:(看最后一條:從cdn.bootcss.com獲取js文件,只有2.35kb,只需36毫秒。從國(guó)外cdn首次加載要一兩秒至十幾秒不等)
?
這樣就避免了有些時(shí)候?yàn)g覽器一直卡在獲取國(guó)外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引起的访问速度慢的原因及解决办法的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: selenium 基本的键盘方法
- 下一篇: 窗口尺寸,文档高,元素宽高的获取方式