您好,登錄后才能下訂單哦!
小編給大家分享一下seajs中require書寫約定的示例分析,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
具體如下:
require 書寫約定
使用 Sea.js 書寫模塊代碼時,需要遵循一些簡單規則。
只是書寫和調試時的規范!!!構建后的代碼完全不需要遵循下面的約定!!!!!!
1. 正確拼寫
模塊 factory 構造方法的第一個參數 必須 命名為 require
。
// 錯誤! define(function(req) { // ... }); // 正確! define(function(require) { // ... });
2. 不要修改
不要重命名 require
函數,或在任何作用域中給 require
重新賦值。
// 錯誤 - 重命名 "require"! var req = require, mod = req("./mod"); // 錯誤 - 重定義 "require"! require = function() {}; // 錯誤 - 重定義 "require" 為函數參數! function F(require) {} // 錯誤 - 在內嵌作用域內重定義了 "require"! function F() { var require = function() {}; }
3. 使用直接量
require
的參數值 必須 是字符串直接量。
// 錯誤! require(myModule); // 錯誤! require("my-" + "module"); // 錯誤! require("MY-MODULE".toLowerCase()); // 正確! require("my-module");
在書寫模塊代碼時,必須遵循這些規則。其實只要把 require
看做是語法關鍵字 就好啦。
關于動態依賴
有時會希望可以使用 require
來進行條件加載:
if (todayIsWeekend) require("play"); else require("work");
但請牢記,從靜態分析的角度來看,這個模塊同時依賴 play 和 work 兩個模塊,加載器會把這兩個模塊文件都下載下來。 這種情況下,推薦使用 require.async
來進行條件加載。
以上是“seajs中require書寫約定的示例分析”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。