欢迎来到[自学php网] ①群 AG亚游集团

AG亚游集团 > 网站前端 > javascript >

requireJS 基本使用,requirejs简单实用教程

来源:未知 ?? 时间:2019-02-13 21:49?作者:小飞侠

[导读] 在requireJs 中,.js的后缀是可以省略不写的 scriptdata-main=mainsrc=require.js/script 在require.js 加载完之后,会查找页面上script标签的 data-main 属性的值,然后加载, data-main 指定的 js 文件 找到名...

在requireJs 中,.js的后缀是可以省略不写的


<script data-main="main" src="require.js"></script>


在require.js 加载完之后,会查找页面上script标签的data-main属性的值,然后加载,data-main指定的js文件


找到名为main的js文件
通过requireJs同时加载了js1、js2、js3,也可以同时加载更多js文件
第2个回调函数在导入的js文件全部加载完之后才会执


require(['js1', 'js2', 'js3'], function(){
console.log('js1 js2 js3 loaded')var total = num1 + num2 + num3
console.log(total)

hello1()
hello2()
hello3()
})

 


使用requireJs可以很方便的导入js文件,但是要注意js文件中变量名和方法名与其他js文件中变量名方法名冲突的问题
产生冲突的原因:
浏览器端js文件存在共用的全局作用域,全局作用域中变量名、方法名可能会被覆使用requireJs加载js文件,会自动在head标签中添加script标签,这些script标签带有async属性,async属性会使浏览器异步并行加载这些js文件(即同时开始加载这些js文件)

 

创建模块

判断require是否正确

if (typeof define === "function"&&define.amd) {
console.log("define来自require.js")
}

requirejs == require

requirejs(["js4"],function (js4) {
console.log("导出的是:")
console.log(js4);
});

 

模块化 nodejs(服务端,commonJS) require.js(客户端,AMD) sea.js(中国,客户端,CMD) ES6(ECMA)

定义模块

参数一模块名必须字符串。参数2依赖,


define(["require", "exports", "module","js5"],function (require, exports, module,js5) {/exports = "天幽"; 失败module.exports = "天幽";

console.log(require);
console.log(exports);
console.log(module);/var num = require("js5") 获取js5/consoleaff4log(num);});


或者这样写 define(function (require, exports, module,js5) { (ps:推荐上面那种。这种写法消耗能比较大)

导出的方法4种
exports 是能使用.添加属性,不能使用=重新赋值
module.exports 既可以使用.添加属性,也可以使用=重新赋值
return 最常用方法,相当于在module.exports使用=
define(object) 直接跟一个对象,相当于module.exports = {};
全局中的require == requirejs();
函数作用域require == LocalRequire(); 返回值就是模块的导出dua

 

require配置config

require.config({    /  baseUrl:"libs/"  /相对默认位置
    baseUrl:"libs/",
    paths:{/相对位置
        "jquery":"libs/jquery"
    },
    shim:{/依赖关系
        "jquery.zyslide":["jquery"]/zyslide依赖jquery
    }/有依赖关系后可以省略导入jquery


/ 向服务端传递额外的参数,通常用来起到禁用缓存的效果

urlArgs: "time=" +  new Date().getTime()
})

requirejs(["jquery.zyslide"],function () {



最新文章

点击排行

自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习

京ICP备14009008号@版权所有AG亚游集团

网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com

美专家要特朗普宣示台海为国际公海 美军可在此行动 布冯评现役5大门神:无德赫亚 英超两人入选 遇害空姐所属航空公司:将免费为夜班员工提供住宿 维特尔:如果我们排位在前 那么我们就能赢! 欧委会主席:欧美商定就取消工业品关税进行合作 布兰妮被曝遭父软禁8年:内衣都不能自己选 汤志平任上海市政府秘书长 马春雷任市发改委主任 海南通报屯昌致7死4伤交通事故:27名责任人被处理 西里奇:今年若助队夺冠将退出戴杯 专注单打发展 第五次挑战成功 69岁无腿老人登顶珠峰 直击|梁建章:中国要想成为世界强国 应简化签证流程 4名西方游客在塔吉克斯坦遇袭身亡 IS宣布负责
巴托丽或退出迈阿密推迟复出 称水平未达到100% 英超-席尔瓦梅开二度 曼城2-0夺4连胜 16分领跑 强行加塞?日外相拟下月访美会晤候任国务卿蓬佩奥 土葬7天强行起棺 江西上饶殡葬改革为何做这么绝? 收盘:公司盈利强劲 标普500道琼斯指数走高 护士被病人突然咬住胳膊 忍痛坚持3分钟(图) 要马儿听话需要建立权威!人如何建立对马的权威 ITF颁发青少年奖励金 王欣瑜将获两万五美元 河北省教育厅:公办高中未经批准不得跨市域招生 亚冠德比遭广州炎热天气 卡帅坦言要克服高温疲劳 韩咖啡厅现朝韩首脑肖像咖啡 网友:品尝和平味道 公安部A级通缉令逃犯刘邦强自首:涉抢劫寺庙(图)
莎普爱思旗下专利被认定无效 总市值已缩水42% 全国政协委员: 教师缺乏已成基层体育发展瓶颈 催泪!回不去的米兰德比 那一年卡卡大罗伊布…… 盘点汤杯0冠英雄:盖德9战无冠 李宗伟全胜仍悲情 日欧酝酿报复美国钢铝关税 联手反制或成大势所趋 张柏芝与萌娃度万圣节 kitty装扮似少女? 泰国普吉一家餐厅专坑中国游客 警方逮捕违法商家 国人每天仅有2.27小时做这事 看完有点累 周最佳:北境王本季第5次 9连胜队核心杀神当选 女生最值得学的手艺 怎么样白手起家 广东水库抓到一只女鬼 品牌设计公司排行榜 AG亚游集团