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

首頁 > 語言 > JavaScript > 正文

淺析Javascript使用include/require

2024-05-06 15:54:56
字體:
來源:轉載
供稿:網(wǎng)友
它有一個要求就是你的前端js是作為模塊式的開發(fā), 在前端邏輯比較復雜的話, 使用模塊式來進行前端開發(fā)應該是種不錯的選擇。這里只簡單介紹一下

1. javascript include
Javascript 沒有 include 語句有時挺討厭, 特別是腳本和腳本之間存在依存的關系, 你根本就不能動態(tài)的去控制加載腳本, 一般來說最簡單的 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);
 }


基本用法

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

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

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

include('some.js');

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

開啟緩存

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

$.ajaxSetup({ cache : true });

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

requireJs

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

它的基本用法是:

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

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

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表

圖片精選

主站蜘蛛池模板: 钟祥市| 元阳县| 登封市| 嘉定区| 全椒县| 甘孜| 湛江市| 泾源县| 临朐县| 阳春市| 甘谷县| 刚察县| 丹凤县| 定结县| 石阡县| 梓潼县| 南投市| 湟中县| 永济市| 成都市| 东海县| 长顺县| 晋中市| 芦溪县| 涿州市| 抚顺市| 天水市| 灯塔市| 开鲁县| 宁远县| 滨海县| 方山县| 日喀则市| 达拉特旗| 新泰市| 稻城县| 华阴市| 双城市| 同江市| 大英县| 遂溪县|