日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

快速上手seajs——简单易用Seajs

發(fā)布時間:2025/7/14 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 快速上手seajs——简单易用Seajs 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

聲明:本文為原創(chuàng)文章,如需轉(zhuǎn)載,請注明來源并保留原文鏈接前端小尚,謝謝!

背景


一個網(wǎng)站必然會涉及很多功能,tab選項卡、slide輪播圖、pop彈出層、美化alert、paging分頁等等等等,如果是企業(yè)網(wǎng)站那整合成一個js文件就夠了,即插件庫
但是對于一個大的網(wǎng)站平臺來說需要的功能可能會有很多,而且隨著平臺的發(fā)展,功能會越來越多。到最后會發(fā)展成怎樣的情況呢?

這是錢莊網(wǎng)原先的插件庫,已經(jīng)接近20個插件了。想象一下,你在做一個簡單的活動單頁里面用到了tab選項卡,于是你把插件庫引用了進(jìn)來,這個時候你有想過你只是需要一個功能但是卻把整個插件庫引進(jìn)來了,多大的浪費啊。該怎么解決這種問題呢?
我們希望一個頁面按需引入,這個頁面需要什么功能就引入什么功能?,F(xiàn)在主流的工具有兩種,amd規(guī)范的RequireJS、cmd規(guī)范的Seajs。

什么是Seajs


  • Seajs是一個加載器 http://kb.cnblogs.com/page/211942/
  • 遵循 CMD 規(guī)范模塊化開發(fā),依賴的自動加載、配置的簡潔清晰。
  • 兼容性
    • Chrome 3+
    • Firefox 2+
    • Safari 3.2+
    • Opera 10+
    • IE 5.5+
  • 基本應(yīng)用


    導(dǎo)入Seajs庫

  • 去官網(wǎng)下載最新的seajs文件,http://seajs.org/docs/#downloads
  • 在頁尾引入seajs:
    <script src="/site/script/sea.js"></script>
  • 然后在它下面寫模塊的配置和入口。

    // seajs 的簡單配置 seajs.config({base: "../sea-modules/",alias: {"jquery": "jquery/jquery/1.10.1/jquery.js"} });// 加載入口模塊 seajs.use("../static/hello/src/main");
  • 配置和入口

    這里解釋下配置和入口的意思。

    配置

    通常在配置上修改seajs的路徑和別名。

    seajs的路徑是相對于前面引入的seajs文件的。假如是這樣的目錄結(jié)構(gòu):

    examples/|-- index.html|`--about| |-- news.html|`-- script|-- seajs.js|-- jquery.js`-- main.js

    我們平時如果我們在index.html上引用main.js路徑應(yīng)該是這樣寫的script/main.js,從news.html引用main.js就要這樣寫,../script/main.js。
    而在seajs是相對于seajs文件的,一律直接使用main.js就OK了,是不是很方便呢?

    既然這么方便那在什么情況需要配置呢?一般情況是用不到的。但是假如你的路徑特別深 或者要做路徑映射的時候它的作用就來了。下面介紹下常用的幾個配置。

    seajs.config({// Sea.js 的基礎(chǔ)路徑(修改這個就不是路徑就不是相對于seajs文件了)base: 'http://example.com/path/to/base/',// 別名配置(用變量表示文件,解決路徑層級過深和實現(xiàn)路徑映射)alias: {'es5-safe': 'gallery/es5-safe/0.9.3/es5-safe','json': 'gallery/json/1.0.2/json','jquery': 'jquery/jquery/1.10.1/jquery'},// 路徑配置(用變量表示路徑,解決路徑層級過深的問題)paths: {'gallery': 'https://a.alipayobjects.com/gallery'} });

    查看更多

    入口

    入口即加載,需要加載什么文件(模塊加載器)就在這里引入。sea.js 在下載完成后,會自動加載入口模塊。

    seajs.use("abc/main"); //導(dǎo)入seajs.js同級的abc文件夾下的main.js模塊的(后綴名可略去不寫)

    seajs.use()還有另外一種用法。
    有時候我們寫一個簡單的單頁并不想為它單獨寫一個js文件,選擇在直接把js代碼寫在頁面上,seajs通過seajs.use()實現(xiàn)了這個。接收兩個參數(shù)第一個是文件依賴(單個用字符串?dāng)?shù)組都可以,多個需用數(shù)組表示),第二個是回調(diào)函數(shù)。

    加載單個依賴

    //加載模塊 main,并在加載完成時,執(zhí)行指定回調(diào) seajs.use('./main', function(main) {main.init(); });

    加載多個依賴

    //并發(fā)加載模塊 a 和模塊 b,并在都加載完成時,執(zhí)行指定回調(diào) seajs.use(['./a', './b'], function(a, b) {a.init();b.init(); });

    這里回掉函數(shù)中的a和b參數(shù)是與前面的模塊暴露出來的接口一一對應(yīng)的。有時候也許只需要使用b的接口,但是也要把a(bǔ)參數(shù)寫上。什么是暴露接口下面會解釋。

    通過seajs.use()只能在第一個參數(shù)中引入模塊,不能在回調(diào)函數(shù)中使用require()載入模塊。 ——141023補(bǔ)充

    模塊開發(fā)

    這里才是重點,其實也很簡單就是一個書寫規(guī)范(CMD)而已。

    // 所有模塊都通過 define 來定義 define(function(require, exports, module) {// 通過 require 引入依賴var $ = require('jquery');var Spinning = require('./spinning');// 通過 exports 對外提供接口exports.doSomething = ...// 或者通過 module.exports 提供整個接口module.exports = ...});

    模塊是通過define()方法包裝的,然后內(nèi)部痛過require()方法引入需要的依賴文件(模塊)。(也可以引入.css文件哦~)
    模塊最好是面向?qū)ο箝_發(fā)的,這樣最后可以方便的通過exports.doSomething或module.exports把模塊的接口給暴露出來。如果你是寫的是jq插件的話就不需要這個功能了,因為你的接口是寫在jquery的對象里的。如果你不需要提供接口的話也可以不使用這兩個屬性哦!

    事實上define方法還有另外幾個參數(shù),一般情況我們用不到。具體看官方API。

    小結(jié)


    其實Seajs的基本使用就這么簡單,日常使用足夠了,之前看官網(wǎng)的5分鐘教程楞是沒看懂,等會的時候回頭想想真的是5分鐘學(xué)會啊,悟性太低- -||

    注意事項


  • 模塊內(nèi)的函數(shù)依賴必須交代清楚,防止模塊在函數(shù)依賴加載前先加載出來。而且還增強(qiáng)了模塊的獨立性。
  • 引入seajs的時候最好給<script>標(biāo)簽加個id,可以快速訪問到這個標(biāo)簽(我是在模塊合并時用到它的)
  • 還有前面提到的使用seajs.use()在.html頁面上寫js時如果有多個模塊依賴,需要使用暴露出來的接口就要讓參數(shù)與它一一對應(yīng)。
  • 轉(zhuǎn)載于:https://www.cnblogs.com/xjchenhao/p/4021775.html

    總結(jié)

    以上是生活随笔為你收集整理的快速上手seajs——简单易用Seajs的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

    主站蜘蛛池模板: 尤物在线免费观看 | 尤物在线免费视频 | 黄色尤物视频 | 青青操精品 | 打美女屁股网站 | 国产成人无码一区二区在线播放 | 日韩 欧美 国产 综合 | 欧美视频一区二区三区 | kk视频在线观看 | 欧美又大粗又爽又黄大片视频 | 永久免费毛片 | 亚洲精品一级片 | 激情av| 色哟哟免费在线观看 | 那里可以看毛片 | 免费69视频 | av片免费看 | 国产又黄又粗的视频 | 91精品国产91久久久久青草 | 欧美在线一区二区 | 黑人与日本少妇 | 一区二区自拍 | 青青草www| 亚色在线视频 | 91调教视频| 欧美专区一区 | 中国美女乱淫免费看视频 | h欧美 | 午夜视频日韩 | 精品在线观看视频 | 欧美黑人一级片 | 免费看的av网站 | 99re6在线观看 | 日本人三级 | 国产又粗又硬 | 岳睡了我中文字幕日本 | 91污网站| 欧美一级做a爰片免费视频 成人激情在线观看 | 日韩字幕 | 日韩一级av毛片 | 污视频网站在线播放 | 国产女18毛片多18精品 | 日韩人妻精品无码一区二区三区 | 国产精品麻豆一区二区三区 | 日韩在线视频观看 | 九色91popny蝌蚪 | 国产精品久久久 | 乱子伦视频在线看 | 韩日一级片 | 中文字幕免费av | 日本不卡一二三区 | 美女激情网站 | 一级成人av| 日本精品三区 | 波多野结衣在线免费视频 | 精品电影在线观看 | 第四色成人网 | 国产11页| 少妇喷水在线观看 | 日韩久久精品视频 | 免费看裸体网站视频 | 极品毛片 | 黄色网址在线免费播放 | 欧美影视一区二区三区 | 成人亚洲| 农村脱精光一级 | 亚洲骚片 | 福利色播| 91福利在线视频 | 色综合自拍| 六月丁香激情 | www.日本黄色 | 欧美日韩精品久久久免费观看 | 成人在线观看a | 少妇床戏av | 色倩网站 | 一级国产特黄bbbbb | 五月天婷婷在线视频 | 欧美专区亚洲专区 | 五月激情啪啪 | 狠狠躁18三区二区一区 | 亚洲一区二区三区麻豆 | 亚洲精品欧洲 | 国产精品一区二区三区不卡 | 欧美一区二区三区在线看 | 欧美a级在线观看 | 男女激情网址 | 国产无码精品在线播放 | av中文天堂在线 | 中文字幕avav| 日本黄色大片视频 | 国产精品无码999 | 国产午夜麻豆影院在线观看 | 黄色日韩| 久久精品视频在线播放 | a在线观看免费 | 欧美在线网址 | 激情三区 | 亚洲av片在线观看 |