requireJS使用指南_其它
專案中大都使用模組化開發,requireJS作為AMD模組開發的典範,所以有必要學習下。透過一步步利用requireJS編寫demo,從而學習requireJS的一個整體開發流程以及自我使用requireJS的一些感受。
AMD:一種基於模組的非同步載入JavaScript程式碼的機制,它推薦開發人員將JavaScript程式碼封裝進一個個模組,對全域物件的依賴變成了對其他模組的依賴,無須再聲明一大堆的全域變數。透過延遲和按需載入來解決各個模組的依賴關係。模組化的JavaScript程式碼好處很明顯,各個功能組件的鬆散耦合性可以極大的提升程式碼的復用性、可維護性。這種非阻塞式的並發式快速載入JavaScript程式碼,讓Web頁面上其他不依賴JavaScript程式碼的UI元素,如圖片、CSS以及其他DOM節點得以先載入完畢,Web頁面載入速度更快,使用者也得到更好的體驗。
1、 下載requieJS
在用requieJS模組化開發之前,我們需要準備一些東西。那一定就是下載require.js檔咯,哈哈哈,因為是基於它開發嘛。
2、 建立一個HTML檔
建立一個HTML檔案後,導入requireJS肯定是使用<script>標籤的,這毫無疑問。然後在這個標籤中有data-main屬性,它的作用呢是作為一個出入口,就是說在載入requireJS後,從data-main這個屬性進入。 </script>
比如下面這樣:
<!DOCTYPE html> <head> <title>require</title> <meta http-equiv="Content-Type" content="text/html;charset=utf-8"/> </head> <body> <!--这是requireJS,data-main是作为入口模块,在这里就是js/main--> <script data-main="js/main" src="js/require.js"></script> </body> </html>
當我透過載入js/require.js後,然後去執行js/main的js檔案。 main它也是個js文件,我們可以將它的.js後綴省略掉,requireJS會加上。
3、 data-main
當程式執行後,透過data-main進入main.js,去執行main.js。那main.js裡是些什麼東東呢?
請看代碼:
/* require.config执行baseUrl为'js', baseUrl指的模块文件的根目录,可以是绝对路径或相对路径 */ require.config({ baseUrl: 'js', paths: { jquery: 'jquery-1.8.2.min' } }); /* 这里通过require,来引入monkey.js, 然后通过后面的匿名函数给他们分配参数,如这里的 monkey-->mk */ require(['monkey'],function(mk) { mk.init(); });
從上面程式碼中,可以看見main.js中包含require.config和require兩個模組。
require.config的作用就是配置requireJS的一些參數,然後公開引用。
例如,上面的baseUrl,它的作用就是,以它為基礎路徑,在這個路徑之下,找出檔案。我是將所有.js檔案都放在js資料夾下的。所以,配置這個屬性後,以後的檔案都是在js這個路徑下找內容了。
如下:
require(['monkey'], function(monkey){ monkey.init(); });
它在引用monkey時,就是引用的monkey,而不是js/monkey。
paths的作用呢?就是將一些常用的js文件,換成通用的名字。例如jquery-1.8.2.min.js,我們不可能每次呼叫它時,都寫這一啪啦吧,所以為了方便,就將jquery取代jquery-1.8.2.min.js咯,以後我們就可以直接使用jquery了,快速又方便。
好了,require.config基本上混了個臉熟,一句話,它的作用就是配置requireJS嘛。
那require呢?
require的作用就是執行。例如這裡我只需要monkey.js去執行,所以我就導入了monkey,然後透過mk參數,得到monkey執行後的回傳值。如果有回傳值,然後我們就可以對mk做對應的處理了。
咦,那monkey裡面是什麼?
我們來看看:
/* define的参数为匿名函数,该匿名函数返回一个对象 */ define(['jquery'],function($){ var init = function(){ console.log($.browser); }; return { init: init }; });
define!它的作用是,定義一個js模組,供其他模組或require使用。它引用其他js的模組的方法和require差不多,都是將需要的js檔案引入,然後參數一一對應。大家需要要注意的是,define裡定義的方法或者變量,其他模組是訪問不到的,所以,你如果想其他模組也能訪問,就將相應的方法拋出去(return)對像或者函數都可以。在這裡,我return的是一個對象,提供init供其他模組呼叫。

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

JavaScript是現代Web開發的基石,它的主要功能包括事件驅動編程、動態內容生成和異步編程。 1)事件驅動編程允許網頁根據用戶操作動態變化。 2)動態內容生成使得頁面內容可以根據條件調整。 3)異步編程確保用戶界面不被阻塞。 JavaScript廣泛應用於網頁交互、單頁面應用和服務器端開發,極大地提升了用戶體驗和跨平台開發的靈活性。

JavaScript的最新趨勢包括TypeScript的崛起、現代框架和庫的流行以及WebAssembly的應用。未來前景涵蓋更強大的類型系統、服務器端JavaScript的發展、人工智能和機器學習的擴展以及物聯網和邊緣計算的潛力。

不同JavaScript引擎在解析和執行JavaScript代碼時,效果會有所不同,因為每個引擎的實現原理和優化策略各有差異。 1.詞法分析:將源碼轉換為詞法單元。 2.語法分析:生成抽象語法樹。 3.優化和編譯:通過JIT編譯器生成機器碼。 4.執行:運行機器碼。 V8引擎通過即時編譯和隱藏類優化,SpiderMonkey使用類型推斷系統,導致在相同代碼上的性能表現不同。

Python更適合初學者,學習曲線平緩,語法簡潔;JavaScript適合前端開發,學習曲線較陡,語法靈活。 1.Python語法直觀,適用於數據科學和後端開發。 2.JavaScript靈活,廣泛用於前端和服務器端編程。

JavaScript是現代Web開發的核心語言,因其多樣性和靈活性而廣泛應用。 1)前端開發:通過DOM操作和現代框架(如React、Vue.js、Angular)構建動態網頁和單頁面應用。 2)服務器端開發:Node.js利用非阻塞I/O模型處理高並發和實時應用。 3)移動和桌面應用開發:通過ReactNative和Electron實現跨平台開發,提高開發效率。

本文展示了與許可證確保的後端的前端集成,並使用Next.js構建功能性Edtech SaaS應用程序。 前端獲取用戶權限以控制UI的可見性並確保API要求遵守角色庫

我使用您的日常技術工具構建了功能性的多租戶SaaS應用程序(一個Edtech應用程序),您可以做同樣的事情。 首先,什麼是多租戶SaaS應用程序? 多租戶SaaS應用程序可讓您從唱歌中為多個客戶提供服務

從C/C 轉向JavaScript需要適應動態類型、垃圾回收和異步編程等特點。 1)C/C 是靜態類型語言,需手動管理內存,而JavaScript是動態類型,垃圾回收自動處理。 2)C/C 需編譯成機器碼,JavaScript則為解釋型語言。 3)JavaScript引入閉包、原型鍊和Promise等概念,增強了靈活性和異步編程能力。
