国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

淺析Javascript使用include/require

2019-11-20 21:43:05
字體:
來源:轉載
供稿:網友

1. javascript include
Javascript 沒有 include 語句有時挺討厭, 特別是腳本和腳本之間存在依存的關系, 你根本就不能動態的去控制加載腳本, 一般來說最簡單的 include 基本就是這樣的, 當然我們這個使用了 jQuery 來進行請求腳本.

復制代碼 代碼如下:

  include: function (jsurl) {
        if (jsurl == null || typeof(jsurl) != 'string') return;
        var js = document.createElement('script');
        js.type = 'text/javascript';
        js.charset = 'utf-8';
        js.src = jsurl;
        $.ajaxSetup({ cache : true });
        $('head').append(js);
        //$.getScript(jsurl);
 }

基本用法

需要注意的是該函數其實在發送GET請求的事情是 jQuery.ajax 的 getScript() 來處理的, 但是在GET后的處理和 $.getScript() 不同, 因此導致使用方法會不一樣, getScript() 一般需要把有依賴的函數寫到它的回調函數中去, 如:

$.getScript('some.js', function() {
    // 做寫依賴 some.js文件的事情.
});

而我們這里的 include 不需要這么寫, 而是直接:

include('some.js');

// 這里可以直接寫依賴 some.js 文件中定義的函數

開啟緩存

另外就是關于文件緩存, 默認情況下 $.getScript 是會在 url 后面加上一個時間戳, 使得在第二次請求的時候不讓瀏覽器去讀取緩存文件, 如果我們 getScript("some.js") , 最后在請求的時候會變成 GET some.js?_23432434534235 之類的, 這是一種強制不緩存的策略, 在開發階段是比較好的, 但到了生產階段, 會導致用戶的瀏覽器每次都不緩存我們的js腳本, 這對效率是很大的影響, 我們應該自己在js腳本后面自己加上版本戳, 比如 some.js?v=1 , 而不是使用每次都會變的時間戳, 所以需要使用:

$.ajaxSetup({ cache : true });

這樣就會關閉jQuery自動在url后面加上時間戳的特性.

requireJs

如果你的腳本大量的存在互相依賴關系, 而又需要動態的決定加載哪些腳本, 那么我推薦的是使用requirejs .

它的基本用法是:

require(["some/module", "a.js", "b.js"], function(someModule) {
    // do something
});

它有一個要求就是你的前端js是作為模塊式的開發, 在前端邏輯比較復雜的話, 使用模塊式來進行前端開發應該是種不錯的選擇, 而關于JS的模塊式開發在今后文章再專門談, 這里只簡單介紹一下, 如果對這個方面感興趣的可以到requireJs官網去看看.

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 望谟县| 德江县| 临澧县| 清涧县| 陕西省| 汉寿县| 荣昌县| 屯留县| 泗洪县| 册亨县| 伊宁县| 嘉义市| 迁安市| 芦溪县| 加查县| 五大连池市| 鄯善县| 会同县| 合水县| 巨野县| 桂平市| 平陆县| 溆浦县| 疏勒县| 资溪县| 阜康市| 灵丘县| 怀宁县| 富蕴县| 黔西县| 卢龙县| 台北县| 台东县| 屯门区| 东源县| 封丘县| 南投市| 基隆市| 双江| 金平| 阿图什市|