日韩性视频-久久久蜜桃-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)容還不錯,歡迎將生活随笔推薦給好友。

    主站蜘蛛池模板: 91精品成人 | 一区二区啪啪啪 | 黄色成人影视 | 很黄很污的视频网站 | 久久黄色小说 | 动漫av网| 中国少妇色 | 成人黄色性视频 | 就去色综合 | 亚洲第一精品在线 | 亚洲一区二区视频在线播放 | 精品人妻一区二区免费 | 中文在线观看高清视频 | 精品人妻无码一区二区三区 | 娇妻玩4p被三个男人伺候电影 | 日韩欧美一区二区三区久久婷婷 | wwwxx在线观看 | 成人免费xxxxx在线视频 | 日韩伊人网 | 国产精彩视频一区二区 | 免费啪视频 | 99久久综合网 | 天天想你免费观看完整版高清电影 | av综合色 | 激情国产一区 | 狠狠干超碰 | 九九在线免费视频 | 日韩一级高清 | 天天想你在线观看完整版高清 | 亚洲av综合色区无码一二三区 | 91激情捆绑调教喷水 | 国产一区二区三区福利 | 竹菊影视日韩一区二区 | 99久久久久久 | av在线资源播放 | 午夜美女福利 | 久久久久久久久艹 | 欧美视频免费 | 福利二区| 国产精品一区二区无线 | 日日夜夜爱 | 亚洲免费专区 | 国产av剧情一区 | 精品女同一区 | 久久久无码精品亚洲国产 | 日韩一区二区三区视频 | 91亚洲欧美激情 | 一区二区三区视频网站 | 丰满秘书被猛烈进入高清播放在 | 美丽的姑娘在线观看 | 久久亚洲AV无码精品 | 亚洲天堂影院 | 欧美性色黄大片手机版 | 日本色片网站 | 天天草视频 | 国产福利专区 | 91视频污在线观看 | tube极品少妇videos | 久久久久a | 99re6热在线精品视频播放 | 日韩欧美国产成人精品免费 | 69福利网 | 日本大尺度吃奶做爰视频 | 超碰99热 | 91中文字幕在线视频 | 国产精品无码粉嫩小泬 | 免费看麻豆 | 色狠狠久久av大岛优香 | 久久久久久18 | 久久桃色 | 91porny九色| 医生强烈淫药h调教小说视频 | 在线亚洲+欧美+日本专区 | 朴麦妮原版视频高清资源 | 免费久久久久 | 日本精品一区在线 | 狠狠躁天天躁综合网 | 色七七桃花综合影院 | 日韩av动漫 | 成年人视频免费 | 国产精品二| 国产自产视频 | 欧美久久一区二区 | 亚洲第一天堂在线观看 | 生活片一级片 | √天堂资源地址在线官网 | 九色tv | 粉嫩av一区二区三区免费观看 | 不用播放器的av网站 | 福利视频第一页 | 国内激情视频 | 精品国产一区二区三区久久久蜜臀 | 干一夜综合 | 97天天操 | 强制憋尿play黄文尿奴 | 熟女毛毛多熟妇人妻aⅴ在线毛片 | 亚洲免费黄色网 | 啊v视频在线观看 | 国产女人18毛片水真多18 |