Flask-bootstrap更改成國內cdn公共js資源庫

Flask-bootstrap默認使用cloudflare的cdn,國內速度堪憂經網絡搜索,發現只有bootcss的更新較快,其他比如
http://lib.sinaapp.com
http://cdn.code.baidu.com
http://libs.baidu.com/
它們的更新速度都不夠,沒有最新版本的bootstrap,不能直接支持最新的Flask-bootstrap
發佈代碼也並不方便直接修改Flask-bootstrap庫,所以在主程序創建了app後直接修改CDN設置即可,如下:

from flask.ext.bootstrap import Bootstrap, WebCDN, ConditionalCDN, BOOTSTRAP_VERSION, JQUERY_VERSION, HTML5SHIV_VERSION, RESPONDJS_VERSION

bootstrap = Bootstrap(app)

def change_cdn_domestic(tar_app):
  static = tar_app.extensions['bootstrap']['cdns']['static']
  local = tar_app.extensions['bootstrap']['cdns']['local']

  def change_one(tar_lib, tar_ver, fallback):
    tar_js = ConditionalCDN('BOOTSTRAP_SERVE_LOCAL', fallback,
                WebCDN('//cdn.bootcss.com/' + tar_lib + '/' + tar_ver + '/'))
    tar_app.extensions['bootstrap']['cdns'][tar_lib] = tar_js

  libs = {'jquery': {'ver': JQUERY_VERSION, 'fallback': local},
      'bootstrap': {'ver': BOOTSTRAP_VERSION, 'fallback': local},
      'html5shiv': {'ver': HTML5SHIV_VERSION, 'fallback': static},
      'respond.js': {'ver': RESPONDJS_VERSION, 'fallback': static}}
  for lib, par in libs.items():
    change_one(lib, par['ver'], par['fallback'])
change_cdn_domestic(app)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章