Ajax 板


LINE

※ 引述《FreedomMax (FreedomKnight)》之铭言: : 小弟目前打算使用 RequireJS 来做配置模组 : 但是有点搞不太懂 : 如果只是一个页面的js的话似乎只要 : 一个 script 资料夹 : 里面放个 main.js 去找 lib : app.js 是让 main.js 呼叫的 callback : 但我现在有一点疑问 : 假设我有两个js是为了两个不同的js而生,也用到不同的js lib : 假设一个叫做 editor.js 另一个叫 login.js : editor假设是负责做个网页编辑器用到了lib/jquery.js : 而 login.js 用到了lib/md5.js : 那这样我的script资料夹下要怎麽分配这些档案? : 我一开始的想法是 : scripts/ : |--lib/ : |--jquery.js : |--md5.js : |--app/ : |--editor/ : |--main.js : |--app.js : |--login/ : |--main.js : |--app.js : editor.html : login.html : 然後在 editor.html 里面 data-main="scripts/app/editor/main" : login 则是 data-main="scripts/app/login/main" : 但我觉的我的想法可能不是 requireJS 的精神 : 是否能够有大大们可以告诉小弟一些 RequireJS 的作法 我的话会在外面再包一层main.js data-main="scripts/app/main" require(['editor/main' , 'login/main'] , function(editMain , loginMain){ }); 当然更好就在这个main.js里面写config, requirejs.config({ baseUrl: "scripts", paths: { 'jquery' : 'lib/jquery', 'md5' : 'lib/md5', 'editor' : 'app/editor/main', 'login' : 'app/login/main', } }); 就可以省略一些路径.... scripts/main.js就变成 require(['editor' , 'login'] , function(editMain , loginMain){ .... }); scripts/app/editor/main.js 里就写 define(['jquery' , './app'] , function($ , app){ ... }) scripts/app/login/main.js 就就写 define(['md5' , './app'] , function(md5 , app){ }) 不过最後建议一下,你的架构假如不是很大的话, 像这种不到10个module,不建议用require.js。 -- require.js不麻烦,麻烦的是後面处理r.js的优化处理。 --



※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 61.31.193.1
1F:推 FreedomMax:感谢大大,努力看懂中 不过是否scripts/editor/main.js 05/21 12:25
2F:→ FreedomMax:要改成scripts/app/editor/main.js? 05/21 12:26
3F:推 FreedomMax:还有请问一下 这是让html里的data-main可以缩短吗? 05/21 12:32
4F:→ FreedomMax:这样一来在editor中的data-main要写成哪个路径呀? 05/21 12:33
修正一些错误 html里面的data-main没办法缩短路径,他是取相对於目前html所在位置的档案 例如 <script data-main="js/page1/app/app" src="js/lib/require.js"> 载完require.js之後 就会去抓js/page1/app/app.js的档案.. 你可以在js/page1/app/app.js里面设定config让接下来的require比较简洁 例如 requirejs.config({ baseUrl: "js", paths: { 'jquery' : [ 'https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min', 'lib/jquery-1.9.1.min' ], 'underscore' : 'lib/underscore-min', 'masonry' : 'lib/jquery.masonry.min', 'slimScroll' : 'lib/slimScroll.drag.min', } }); 後来的档案有用到jquery , underscore 就可以直接打 require(['jquery' , 'underscore']); 而不用打 require(['js/lib/jquery-1.9.1.min' , 'js/lib/underscore-min'] ).... ※ 编辑: musie 来自: 61.31.193.1 (05/21 14:20)
5F:推 FreedomMax:大致上了解 马上试着做一下 感谢大大 05/21 18:31







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:Tech_Job站内搜寻

TOP