CDN鏈接失效,切換本地文件


場景:如今的前端項目很多使用CDN,但是萬一使用的CDN服務器出現問題,導致引用的CDN文件都拿不到,項目崩潰打不開。

處理方案:如果引用CDN的文件出錯了,拿不到,那么就引用本地相對應的文件。

下面以Vue項目為列:

項目的啟動頁 /index.html

<script src="http://cdn.xxx/cdn/js/vue.min.js"></script>
<script>!window.Vue && document.write(unescape('%3Cscript src="/static/js/cdn/js/vue.min.js"%3E%3C/script%3E'))</script>
    
<script src="http://cdn.xxx/cdn/js/element-ui.js"></script>
<script>!window.ELEMENT && document.write(unescape('%3Cscript src="/static/js/cdn/js/element-ui.js"%3E%3C/script%3E'))</script>
    
<script src="http://cdn.xxx/cdn/js/axios.min.js"></script>
<script>!window.axios && document.write(unescape('%3Cscript src="/static/js/cdn/js/axios.min.js"%3E%3C/script%3E'))</script>
    
<script src="http://cdn.xxx/cdn/js/jquery-1.12.4.js"></script>
<script>!window.$ && document.write(unescape('%3Cscript src="/static/js/cdn/js/jquery-1.12.4.js"%3E%3C/script%3E'))</script>
    
<script src="http://cdn.xxx/cdn/js/echarts.js"></script>
<script>!window.echarts && document.write(unescape('%3Cscript src="/static/js/cdn/js/echarts.js"%3E%3C/script%3E'))</script>
    
<script src="http://cdn.xxx/cdn/js/echarts-liquidfill.js"></script>
<script>!window.Vue && document.write(unescape('%3Cscript src="/static/js/cdn/js/echarts-liquidfill.js"%3E%3C/script%3E'))</script>

這樣處理會導致項目體積變大,但是這種處理總不會直接導致項目崩潰的,給用戶的體驗能更好一點,犧牲這么一點點是值得的。很多事情都是沒有絕對的情況,都是相對的,這就需要我們自己去權衡了。

<script src="https://cdn.bootcss.com/vue/2.5.15/vue.min.js"></script>
<script>!window.Vue && document.write(unescape('%3Cscript src="./static/js/vue.min.js"%3E%3C/script%3E'))</script>
    
<script src="https://cdn.bootcss.com/vue-router/3.0.1/vue-router.min.js"></script>
<script>!window.VueRouter && document.write(unescape('%3Cscript src="./static/js/vue-router.min.js"%3E%3C/script%3E'))</script>
    
<script src="https://cdn.bootcss.com/axios/0.18.0/axios.min.js"></script>
<script>!window.axios && document.write(unescape('%3Cscript src="./static/js/axios.min.js"%3E%3C/script%3E'))</script>
    
<script src="https://cdn.bootcss.com/element-ui/2.4.9/index.js"></script>
<script>!window.Element && document.write(unescape('%3Cscript src="./static/js/element-ui-index.js"%3E%3C/script%3E'))</script>
<script>!window.Element && document.write(unescape('%3Clink href="./static/css/element-ui-index.css" rel="stylesheet"%3E%3C/link%3E'))</script>
    
<script src="https://cdn.bootcss.com/qs/6.5.2/qs.min.js"></script>
<script>!window.Qs && document.write(unescape('%3Cscript src="./static/js/qs.js"%3E%3C/script%3E'))</script>
    
<script src="https://cdn.bootcss.com/vuex/3.0.1/vuex.min.js"></script>
<script>!window.Vuex && document.write(unescape('%3Cscript src="./static/js/vuex.min.js"%3E%3C/script%3E'))</script>

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM