Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
SDCC
Search
Joseph Chiang
September 08, 2012
Programming
2.7k
21
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
SDCC
2012 北京的 SDCC 研讨会讲模块加载策略
Joseph Chiang
September 08, 2012
More Decks by Joseph Chiang
See All by Joseph Chiang
不断归零的前端人生 - 2016 中国软件开发者大会
josephj
1
480
Let's Redux!
josephj
4
330
Automatic Functional Testing with Selenium and SauceLabs
josephj
2
330
From Hacker to Developer
josephj
1
180
tmuxinator
josephj
0
250
JavaScript Promise
josephj
0
260
Be an Internet Person
josephj
9
650
F2E Evolution
josephj
55
3.4k
F2E for Enterprise
josephj
42
5.7k
Other Decks in Programming
See All in Programming
Herb in Rails 8.2: Your ERB views, now HTML-aware @ Rails World 2026, Austin, Texas
marcoroth
0
210
[ハンズオン]AIへの指示だけで「五目並べ」を作ってみよう
satoshi256kbyte
1
370
[2026-09-26]空論ジェネリックプロセス~テスト資産とAIで紡ぐ、再現可能なパフォーマンスチューニングの話~
tosite
0
270
re:Inventに行く前に知っておきたい現地参加のノウハウ
nokomoro3
0
400
複雑なUIコンポーネントとの ⻑い付き合い⽅:波及するバグからテスト戦略を経て、安全な再設計へ
mixplace
0
380
Agentic Software Factoryに、すごく賢いIF文を。 / super smart IF statement into the Agentic Software Factory.
rkaga
8
2.1k
すこし踏み込む CancellationToken
htkym
2
1.7k
パスワード再設定メールのURLについて知っておこう
uyuki234
0
140
動作中のプログラムの中身をリアルタイムに覗く / Realtime Debugger for CSharp with Roslyn
prota
1
1.8k
JAWS-UG 東京支部が始める、JAWS-UG支部コラボ / JAWS-UG lunchtime LT Collaboration
y0hgi
0
240
ソニーのクラウド共通基盤の変遷とAI時代の開発スタイルに合わせた進化 / The Journey of Sony’s Common Cloud Platform and Its Evolution for AI-Native Development
kenjiyoneyama
0
250
Event is what happens
moro
1
110
Featured
See All Featured
[SF Ruby Conf 2025] Rails X
palkan
3
1.4k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
16k
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
PRO
1
1.6k
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
560
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
4
3.2k
The Art of Programming - Codeland 2020
erikaheidi
57
14k
Music & Morning Musume
bryan
48
7.4k
How Software Deployment tools have changed in the past 20 years
geshan
2
35k
Joys of Absence: A Defence of Solitary Play
codingconduct
1
540
Facilitating Awesome Meetings
lara
57
7.2k
Optimizing for Happiness
mojombo
378
71k
The Power of CSS Pseudo Elements
geoffreycrofte
82
6.6k
Transcript
ଆॶࡆᄛҦ ࢃᆀࢀקდjosephj https://speakerdeck.com/u/josephj/p/sdcc Module Loader Strategy
ܱႿࢀקდ (josephj)
ܱႿࢀקდ ҄ߌ֛ c܋฿ cჿ؟܄ ୍ᄅٺ (josephj)
ܱႿࢀקდ అଉ cభ؊۽ӱഽ cYDNඌ҃֡ഽ cᇶေཛଢğᆩ് ҄ߌ֛ c܋฿ cჿ؟܄ ୍ᄅٺ
(josephj)
ܱႿࢀקდ అଉ cభ؊۽ӱഽ cYDNඌ҃֡ഽ cᇶေཛଢğᆩ് miiiCasa ᄉႥ॓ cభ؊ඌؒᇶܵ cඌ҃֡ഽ ҄ߌ֛
c܋฿ cჿ؟܄ ୍ᄅٺ ᇀࣂ (josephj)
2010.7ਆ฿၂၀֥Кࣘྛ༯ࠞധख़֥ႆའ
2010.7ਆ฿၂၀֥Кࣘྛ༯ࠞധख़֥ႆའ քࢃഽ ۋ྆ღѯĆ Ϥ؇ҕ٠
2010.7ਆ฿၂၀֥Кࣘྛ༯ࠞധख़֥ႆའ քࢃഽ ۋ྆ღѯĆ Ϥ؇ҕ٠ http://josephj.com/entry.php?id=336 КࣘWebRebuildဆᾣđ൬ὤ⁷ẵĆ https://speakerdeck.com/u/josephj/p/webrebuild ࡹ৫భ؊षؿؒ ֒ൈဆࢃᇶี
હ൞ଆॶĤ ॖၛФᇗگ০Ⴈ֥ჭࡱ
Ⴎ7۱҂ݓࡅ෮ิ܂֥50؟۱ଆॶ෮ܒӮ http://astronomy.wikia.com/wiki/International_Space_Station NASAૅݓॢሹඇॢᅟ
Ⴎ7۱҂ݓࡅ෮ิ܂֥50؟۱ଆॶ෮ܒӮ http://astronomy.wikia.com/wiki/International_Space_Station NASAૅݓॢሹඇॢᅟ ᄝޅٳ۽ࣚ༥֥۽ӱਵთ ଆॶ߄षؿ൞сಖ൝ğ wҐႨ࠻Ⴕଆॶaх૧ᇗྍյᄯሰx
GitHub
GitHub GitHub൞ೈุြࢸ֥wሰࢌੀx git submodule add ࣼॖၛࡆೆљದཿݺ֥ଆॶ
http://www.flickr.com/photos/halfbisqued/2353845688/ ຩ်ᇏ֥ଆॶႻ൞હĤ
http://www.flickr.com/photos/halfbisqued/2353845688/ ޅॖၛФᄛೆႨ֥ )5.-a$44ა+BWB4DSJQU֖σ ຩ်ᇏ֥ଆॶႻ൞હĤ
http://www.flickr.com/photos/halfbisqued/2353845688/ ޅॖၛФᄛೆႨ֥ )5.-a$44ა+BWB4DSJQU֖σ ӑࠩݺႨ֥ਆ۱ଆॶğjQuery აTwitter Bootstrap ຩ်ᇏ֥ଆॶႻ൞હĤ ӱჴ္ॖၛቓԛਊຩᅟ
ᇶีğଆॶࡆᄛҦ
ᇶีğଆॶࡆᄛҦ cԮଆൔ
ᇶีğଆॶࡆᄛҦ cԮଆൔ c်Ҫࠩഡקଆൔ Page-level Setting
ᇶีğଆॶࡆᄛҦ cԮଆൔ c်Ҫࠩഡקଆൔ Page-level Setting cଆॶҪࠩഡקଆൔ Module-level Setting
Ԯଆൔ
Ԯଆൔ ႨMJOLISFGࠇTDSJQUTSDቓࡆᄛ
ਆρֹ֥(JU)VCषؿᆀ https://github.com/josephj/github-chinese-developer ᆃՑဆࢃ֥ٓ২۵۽ऎᄝ҂֥#SBODIᇏ
ਆρֹ֥(JU)VCषؿᆀ https://github.com/josephj/github-chinese-developer ᆃՑဆࢃ֥ٓ২۵۽ऎᄝ҂֥#SBODIᇏ
ਆρֹ֥(JU)VCषؿᆀ https://github.com/josephj/github-chinese-developer ᆃՑဆࢃ֥ٓ২۵۽ऎᄝ҂֥#SBODIᇏ <link href="assets/stylesheets/bootstrap.min.css" rel="stylesheet"> <link href="assets/stylesheets/bootstrap-responsive.css" rel="stylesheet"> <link
href="assets/stylesheets/demo.css" rel="stylesheet"> <script src="assets/javascripts/jquery-1.8.1.min.js"></script> <script src="assets/javascripts/handlebars-1.0.0.beta.6.js"></script> <script src="assets/javascripts/demo.js"></script> ᆃဢ֥ཬທၩđड़קն҆ٳದ൞ᆰࢤࡆᄛଆॶ֥ Bootstrap CSS Bootstrap CSS Page CSS jQuery Handlebars Page JS
ؓႿ၂۱ຩᅟषؿؒطđᆃဢቓ߶ཊೆࠁ ླေ၂ק֥षؿଆൔট൯
်૫ଆॶğ၂ᇕؒषؿଆൔ ૄ۱်૫ଆॶ్ٳԛ)5.-a+BWB4DSJQUa$44
်૫ଆॶğ၂ᇕؒषؿଆൔ ૄ۱်૫ଆॶ్ٳԛ)5.-a+BWB4DSJQUa$44
<div id=”nav”> <div class=”hd”> <h2>標題</h2> </div> <div class=”bd”> <p>內文</p> </div>
<div class=”ft”> <a href=”...”>更多... </a> </div> </div> ်૫ଆॶ֥)5.-ࢲܒ
<div id=”nav”> <div class=”hd”> <h2>標題</h2> </div> <div class=”bd”> <p>內文</p> </div>
<div class=”ft”> <a href=”...”>更多... </a> </div> </div> <div id=”nav”> <div class=”hd”> <h2>標題</h2> </div> <div class=”bd”> <p>內文</p> </div> <div class=”ft”> <a href=”...”>更多... </a> </div> </div> ်૫ଆॶ֥)5.-ࢲܒ
<div id=”nav”> <div class=”hd”> <h2>標題</h2> </div> <div class=”bd”> <p>內文</p> </div>
<div class=”ft”> <a href=”...”>更多... </a> </div> </div> <div id=”nav”> <div class=”hd”> <h2>標題</h2> </div> <div class=”bd”> <p>內文</p> </div> <div class=”ft”> <a href=”...”>更多... </a> </div> </div> ်૫ଆॶ֥)5.-ࢲܒ ၂۱*%սі၂۱ଆॶ ҂ିᇗگ
<div id=”nav”> <div class=”hd”> <h2>標題</h2> </div> <div class=”bd”> <p>內文</p> </div>
<div class=”ft”> <a href=”...”>更多... </a> </div> </div> <div id=”nav”> <div class=”hd”> <h2>標題</h2> </div> <div class=”bd”> <p>內文</p> </div> <div class=”ft”> <a href=”...”>更多... </a> </div> </div> ်૫ଆॶ֥)5.-ࢲܒ ၂۱*%սі၂۱ଆॶ ҂ିᇗگ IE CE GUսіଆॶ֥ѓ aଽಸaѓແࢲܒ
ၹૄ۱ଆॶ*%৫a$44҂߶ཌྷಙ ՎଆॶࢡZLQTC ZLQ൞ཛଢ෪ཿaTC൞4FBSDI#PY֥⅜⇔
<div id=”ykpsb”> <div class=”bd clearfix”> <form ...> ... </form> <div
class=”extra”> ... </div> </div> </div> form .extra [HTML] ၹૄ۱ଆॶ*%৫a$44҂߶ཌྷಙ ՎଆॶࢡZLQTC ZLQ൞ཛଢ෪ཿaTC൞4FBSDI#PY֥⅜⇔
<div id=”ykpsb”> <div class=”bd clearfix”> <form ...> ... </form> <div
class=”extra”> ... </div> </div> </div> form .extra [HTML] <style> #ykpsb { margin-bottom:10px; } #ykpsb form { float:left; } #ykpsb .extra { float:right; } </style> [CSS] ၹૄ۱ଆॶ*%৫a$44҂߶ཌྷಙ ՎଆॶࢡZLQTC ZLQ൞ཛଢ෪ཿaTC൞4FBSDI#PY֥⅜⇔
֡෮ิ֥ JavaScript ଆॶଆൔ window.mods[“ykpsb”] = function () { }();
֡෮ิ֥ JavaScript ଆॶଆൔ window.mods[“ykpsb”] = function () { }(); //
利用闭包与外界隔绝 var privateVar, publicFn; // 内部自行处理,不会影响其他模块 privateVar = "123"; publicFn = function () {};
֡෮ิ֥ JavaScript ଆॶଆൔ window.mods[“ykpsb”] = function () { }(); //
利用闭包与外界隔绝 var privateVar, publicFn; // 内部自行处理,不会影响其他模块 privateVar = "123"; publicFn = function () {}; return { // 仅揭露需公开的方法 publicFn: publicFn };
֡෮ิ֥ JavaScript ଆॶଆൔ window.mods[“ykpsb”] = function () { }(); //
利用闭包与外界隔绝 var privateVar, publicFn; // 内部自行处理,不会影响其他模块 privateVar = "123"; publicFn = function () {}; return { // 仅揭露需公开的方法 publicFn: publicFn }; // 外界仅可存取公开方法 mod["ykpsb"].publicFn();
Nicholas Zakas Former Principal Front End Engineer, Yahoo! Zakas֥Scalable JavaScript
ଆॶ ܴҳᆀଆൔğ ൌቔোර)VCܼѬ۵ࡓ๐ ֥ྛູđղ֞҂Ⴈಆთэ ඔॴଆቆ๙֥ଢ֥b https://github.com/miiicasa/module
http://www.nipic.com/show/2/55/d96dde66860c5190.html ؿᅚ֞၂קܿଆđھೂޅ࿊ᄴૄ်෮ླ֥ଆॶ֖Ĥ ်૫ଆॶ߄߶్ٳԛޓ؟ਬ֥֖σđೂޅᄛೆ൞၂࿐໙
http://www.nipic.com/show/2/55/d96dde66860c5190.html ฿ଧĆھೂޅԩ ᆃહ؟ଆॶ֖σĤ ؿᅚ֞၂קܿଆđھೂޅ࿊ᄴૄ်෮ླ֥ଆॶ֖Ĥ ်૫ଆॶ߄߶్ٳԛޓ؟ਬ֥֖σđೂޅᄛೆ൞၂࿐໙
http://www.flickr.com/photos/billjacobus1/123644872/ ᆃൈૌླေ၂۱Loaderࠏᇅ ླྀᇹᄛೆਬ؟֥ଆॶ֖σ
်Ҫࠩഡקଆൔ ୍aКࣘ8FC3FCVJMEၰีᆭ၂ https://speakerdeck.com/u/josephj/p/webrebuild
http://josephj.com/lab/2012/github-chinese-develope/ ਆρֹ֥षؿᆀ ࡌഡૌႨࢠႵܿଆ֥w်૫ଆॶଆൔxটषؿ
ਆρֹ֥षؿᆀ ࡌഡૌႨࢠႵܿଆ֥w်૫ଆॶଆൔxটषؿ http://josephj.com/lab/2012/github-chinese-develope/
ਆρֹ֥षؿᆀ 条件过滤模块 _filter.php _filter.css _filter.js ࡌഡૌႨࢠႵܿଆ֥w်૫ଆॶଆൔxটषؿ http://josephj.com/lab/2012/github-chinese-develope/
ਆρֹ֥षؿᆀ 列表模块 _list.php _list.css _list.js 条件过滤模块 _filter.php _filter.css _filter.js ࡌഡૌႨࢠႵܿଆ֥w်૫ଆॶଆൔxটषؿ
http://josephj.com/lab/2012/github-chinese-develope/
ਆρֹ֥षؿᆀ 资讯模块 列表模块 _info.php _info.css _info.js _list.php _list.css _list.js 条件过滤模块
_filter.php _filter.css _filter.js ࡌഡૌႨࢠႵܿଆ֥w်૫ଆॶଆൔxটषؿ http://josephj.com/lab/2012/github-chinese-develope/
Ԯቔمड़ק߶ӁളИख c)551౨ඔਈݖ؟ c߶ᄯӮ်૫ቅೖ c֖σଽಸໃ෪ cླႨಆთэඔ๙ cᄛೆ֤ॉ੮༵ުඨ cીႵౢԣ֥ࡏܒaၞཊೆࠁ
MINI ݖഡק֖ ࡼ؟۱ẵσކѩaቋཬ߄ ֥षؿߌ۽ऎ http://www.flickr.com/photos/prettypony/2644225789/ https://github.com/josephj/mini
Mini֥ഡק֖ ٳಸၞഡק
࿙ᅳ֖σ֥ਫ਼ࣥđॖၛഡק؟۱ %&7@3005൞7JSUVBM)PTU֥ߌэਈ Mini֥ഡק֖ ٳಸၞഡק
࿙ᅳ֖σ֥ਫ਼ࣥđॖၛഡק؟۱ %&7@3005൞7JSUVBM)PTU֥ߌэਈ קၬEFNPႵଧུ$44ა+4֖ Mini֥ഡק֖ ٳಸၞഡק
ᆷקtypeაmoduleࠧॖሱކѩቋཬ߄
ᆷקtypeაmoduleࠧॖሱކѩቋཬ߄ /mini?module=<module>&type=<css|js>
ᆷקtypeაmoduleࠧॖሱކѩቋཬ߄ /mini?module=<module>&type=<css|js>
ીႵMiniൈ֥౦ঃ
ીႵMiniൈ֥౦ঃ
ݖMiniॖၛնږࡨഒ౨ඔਈ
ݖMiniॖၛնږࡨഒ౨ඔਈ
ႮႿMiniીႵߏթࠏᇅaᆺିႨᄝषؿߌ ᄝbuildൈ֤ყ༵Ӂളކѩࠣቋཬ߄ު֥֖σ
ႮႿMiniીႵߏթࠏᇅaᆺିႨᄝषؿߌ ᄝbuildൈ֤ყ༵Ӂളކѩࠣቋཬ߄ު֥֖σ
ႮႿMiniીႵߏթࠏᇅaᆺିႨᄝषؿߌ ᄝbuildൈ֤ყ༵Ӂളކѩࠣቋཬ߄ު֥֖σ ཌഈ֥CSS/JSᄝBuildުӮູֆ၂֖σ
်Ҫࠩഡקଆൔ֥ᆜุࡏܒ
်Ҫࠩഡקଆൔ֥ᆜุࡏܒ ޓᆰत֥ᄛೆࠏᇅđॖၛႵֹིࡼଆॶ֖σކѩ෪
ᆃ൞NJJJ$BTBՖ၂षࣼႨ֥ଆॶࡆᄛٚൔ ຩᅟഈཌުޓ໗קaޓડၩ ෛᇷࠫՑ֥ڿϱđⁿứགྷਔ҂ഒ໙ี ်Ҫࠩഡקଆൔ
ڿϱсקϴෛᇷଆॶ ۿି ֥ྍᄹaྩڿa၍Ԣ ྩڿ.JOJ֥ቆഡק҂ࣼݺਔગĤ ಌׄົ҂ၞ
ڿϱсקϴෛᇷଆॶ ۿି ֥ྍᄹaྩڿa၍Ԣ ྩڿ.JOJ֥ቆഡק҂ࣼݺਔગĤ ಌׄົ҂ၞ ڿϱ֞ྍϱުđႵ۱်૫ଆॶླေ၍Ԣ čࠎЧࣼႵ۱֖σླ၍ԢĎ
ଆॶ၇ঠܱ༢൞٤ӈگᄖ֥Ć http://www.flickr.com/photos/kalavinka/4617897952/
ଆॶ၇ঠܱ༢൞٤ӈگᄖ֥Ć http://www.flickr.com/photos/kalavinka/4617897952/
ଆॶ၇ঠܱ༢൞٤ӈگᄖ֥Ć ်૫ଆॶJavaScript http://www.flickr.com/photos/kalavinka/4617897952/
ଆॶ၇ঠܱ༢൞٤ӈگᄖ֥Ć ۿିଆॶ JavaScript ်૫ଆॶJavaScript http://www.flickr.com/photos/kalavinka/4617897952/
ଆॶ၇ঠܱ༢൞٤ӈگᄖ֥Ć YUI CSS ်૫ଆॶCSS ۿିଆॶ JavaScript ်૫ଆॶJavaScript http://www.flickr.com/photos/kalavinka/4617897952/
ଆॶ၇ঠܱ༢൞٤ӈگᄖ֥Ć YUI CSS ်૫ଆॶCSS ۿିଆॶ JavaScript ်૫ଆॶJavaScript མေ၍Ԣ၂۱်૫ଆॶ ଧུۿିଆॶ္ླေ၂ఏ၍ԢĤ http://www.flickr.com/photos/kalavinka/4617897952/
ࢳथ၇ঠ໙ีđቋ࣍ޓࠅಣ֥".%ࡏܒ
6006 // 定义⼀一个 AMD 模块 define(“editor”, [“handlebars”], function () {
function Editor { /* Constructor */ } return Editor; },); ࢳथ၇ঠ໙ีđቋ࣍ޓࠅಣ֥".%ࡏܒ
6006 // 定义⼀一个 AMD 模块 define(“editor”, [“handlebars”], function () {
function Editor { /* Constructor */ } return Editor; },); ࢳथ၇ঠ໙ีđቋ࣍ޓࠅಣ֥".%ࡏܒ ֻؽ۱ҕඔॖၛקၬՎଆॶླေଧུଆॶ
6006 6006 // 定义⼀一个 AMD 模块 define(“editor”, [“handlebars”], function ()
{ function Editor { /* Constructor */ } return Editor; },); ࢳथ၇ঠ໙ีđቋ࣍ޓࠅಣ֥".%ࡏܒ // 使用⼀一个 AMD 模块 require(["editor"], function (Editor) { new Editor(); }); ֻؽ۱ҕඔॖၛקၬՎଆॶླေଧུଆॶ ᄝႨൈၛᄛೆٚൔࡼཌྷܱଆॶ֖σ၂ѩᄛೆ
ಌׄBuildݻൈݖࣲ ૌ܋Ⴕᆃહ؟်֥૫ླყ༵#VJMEğ
ಌׄBuildݻൈݖࣲ ૌ܋Ⴕᆃહ؟်֥૫ླყ༵#VJMEğ
NJJJ$BTB#VJMEੀӱᇏ ູ֤෮Ⴕ်૫ࡹᇂ֖࣡ Վֆཛቔြ֤ݻൈٳ϶Ć ಌׄBuildݻൈݖࣲ ૌ܋Ⴕᆃહ؟်֥૫ླყ༵#VJMEğ
NJJJ$BTB#VJMEੀӱᇏ ູ֤෮Ⴕ်૫ࡹᇂ֖࣡ Վֆཛቔြ֤ݻൈٳ϶Ć ൞ӻ࿃ᆜކ֥ѓሙ൞ ປᆜ#VJME҂ႋӑݖٳᇒ ಌׄBuildݻൈݖࣲ ૌ܋Ⴕᆃહ؟်֥૫ླყ༵#VJMEğ
ಌׄཌഈԢԋ
ಌׄཌഈԢԋ ࠧࣜݖ#FBVUJGJFSಯ҂ၞྩڿaߎ൞֤#VJMEaؓေૹࢮषؿࣼҵਔུ
ૄ်֥+4ა$44֖σ൞ປಆ҂ᇗگ֥ ္ၹՎીႵϷمቓ֞ॴ်ࡗ֥ߏթ ಌׄߏթིੱҵ
miii_index_my_contact_18fa331dfbf2bd392660925ba8f41239.js miii_index_my_contact_34945d9e0efb63c7dc62dcbbc3442a60.css ਆ်Ⴕྸ؟܋Ⴈ်֥૫ଆॶaಏߏթ֥ݺԩ miii_index_my_device_704b3ae3682d178a94465c066b0f6d42.js miii_index_my_device_623f7e30575a7180ddeb11fd748aed31.css ಌׄߏթིੱҵ ުটૌູਔߏթaԎԛ၂ུ܋Ⴈ.JOJଆॶ ᆃဢቓّطಞഡק۷ၞົ
ଆॶҪࠩഡקଆൔ ᆇᆞ֥ଆॶ֝ཟषؿĆ
ྏଢᇏ֥ກϹĆ ಞଆॶ߄षؿ҂ླေᄜႵِସ်૫ᇂĆ
ྏଢᇏ֥ກϹĆ ಞଆॶ߄षؿ҂ླေᄜႵِସ်૫ᇂĆ
ྏଢᇏ֥ກϹĆ षؿᆀህᇿႿֆ၂ଆॶ֥षؿ ഡקՎଆॶླေଧུ၇ঠଆॶ ಞଆॶ߄षؿ҂ླေᄜႵِସ်૫ᇂĆ ଆॶࡏܒ
ྏଢᇏ֥ກϹĆ -PBEFS࠹ෘԛ်૫ Ⴕଧུଆॶླᄛೆ षؿᆀህᇿႿֆ၂ଆॶ֥षؿ ഡקՎଆॶླေଧུ၇ঠଆॶ ಞଆॶ߄षؿ҂ླေᄜႵِସ်૫ᇂĆ ଆॶࡏܒ ଆॶ-PBEFS
ྏଢᇏ֥ກϹĆ -PBEFS࠹ෘԛ်૫ Ⴕଧུଆॶླᄛೆ षؿᆀህᇿႿֆ၂ଆॶ֥षؿ ഡקՎଆॶླေଧུ၇ঠଆॶ ಞଆॶ߄षؿ҂ླေᄜႵِସ်૫ᇂĆ ଆॶࡏܒ ଆॶ-PBEFS ჹ؊ଆॶᄛೆࠏᇅ ڛༀఖაᛍফఖ؊ࢌކ
ሱၛིିቋࡄ߄ٚൔᄛೆჹ؊ଆॶ
3FRVJSF+4൞ଢభቋЯ֥".%ൌቔ
3FRVJSF+4൞ଢభቋЯ֥".%ൌቔ ॖၛሱ၂۱၂۱ᄛೆ၇ঠ֥ଆॶ ࠇؿ҃భݖSKTቓކѩࠣቋཬ߄ // AMD Module define(“editor”, [‘a’,’b’,’c’], function ()
{ function Editor { /* Constructor */ } return Editor; }); require(["editor"], function (Editor) { new Editor(); });
3FRVJSF+4൞ଢభቋЯ֥".%ൌቔ ॖၛሱ၂۱၂۱ᄛೆ၇ঠ֥ଆॶ ࠇؿ҃భݖSKTቓކѩࠣቋཬ߄ // AMD Module define(“editor”, [‘a’,’b’,’c’], function ()
{ function Editor { /* Constructor */ } return Editor; }); require(["editor"], function (Editor) { new Editor(); }); ކѩაቋཬ߄ಯಖ߶ႵཌഈԢհა #VJMEൈࡗݖࣲ֥ਆ۱໙ีa മᇀଆॶ၂؟ؓषؿ؇္߶ᄯӮԊࠌ 3FRVJSF+4֥ࡏܒၹՎ҂ژކ֥ླ
ݓଽࢠഒದႨ֥:6*ݦൔ९
ݓଽࢠഒದႨ֥:6*ݦൔ९ ᄪᄝ୍భaᄅࣼิԛ֥ଆॶࡏܒ
ݓଽࢠഒದႨ֥:6*ݦൔ९ ᄪᄝ୍భaᄅࣼิԛ֥ଆॶࡏܒ // AMD Module define(‘editor’, [‘a’,’b’,’c’], function () {
function Editor { /* Constructor */ } return Editor; }); require(["editor"], function (Editor) { new Editor(); });
ݓଽࢠഒದႨ֥:6*ݦൔ९ ᄪᄝ୍భaᄅࣼิԛ֥ଆॶࡏܒ ۵ಀ୍ҌႵ֥".%a෮ေࢳथଆॶ၇ঠྟ֥නਫ਼൞၂ᇁ֥ // AMD Module define(‘editor’, [‘a’,’b’,’c’], function ()
{ function Editor { /* Constructor */ } return Editor; }); require(["editor"], function (Editor) { new Editor(); }); // YUI Module YUI.add("editor", function () { function Editor { /* Constructor */ } Y.Editor = Editor; }, “VERSION”, {requires:[‘a’,’b’,’c’]}); YUI.use("editor", function (Y) { new Y.Editor(); });
ၛYUI DataTableູٓ২
ၛYUI DataTableູٓ২
ၛYUI DataTableູٓ২ ҂Reload֥ྛູޓ؟ğ ߐ်aஆaᆰࢤщࠠb္ ॖၛࢤ൳۲োሧਘটჷđ൞ ޓگᄖ֥ଆቆ
ᆺေࠫྛսࣼॖၛᄛೆ෮ླଆॶ
ᆺေࠫྛսࣼॖၛᄛೆ෮ླଆॶ <script src="http://yui.yahooapis.com/3.5.0/build/yui/yui-min.js"></script>
ᆺေࠫྛսࣼॖၛᄛೆ෮ླଆॶ <script src="http://yui.yahooapis.com/3.5.0/build/yui/yui-min.js"></script> <script> </script> YUI().use('datatable', function (Y) { });
ᆺေࠫྛսࣼॖၛᄛೆ෮ླଆॶ <script src="http://yui.yahooapis.com/3.5.0/build/yui/yui-min.js"></script> <script> </script> YUI().use('datatable', function (Y) { });
ିམཞྛսМުđቓਔ؟ഒ൙౦ગĤ alert(Y.DataTable);
yui (Seed) ࠹ෘ෮ླଆॶ֥ੀӱ
yui (Seed) ࠹ෘ෮ླଆॶ֥ੀӱ YUI().use('datatable')
yui (Seed) widget datatable-core base-build datatable-head datatable-body ࠹ෘ෮ླଆॶ֥ੀӱ YUI().use('datatable')
escape yui (Seed) widget datatable-core base-build datatable-head datatable-body model-list node-event-delegate
base-base attribute event-focus base-plugin-host node-base node-style classnamemanager view ࠹ෘ෮ླଆॶ֥ੀӱ YUI().use('datatable')
escape yui (Seed) widget datatable-core base-build datatable-head datatable-body model-list node-event-delegate
base-base attribute event-focus base-plugin-host node-base node-style classnamemanager view yui-base event-delegate pluginhost event-synthetic attribute-core attribute-events attribute-extras array-extras array-invoke arraylist json-parse model ࠹ෘ෮ླଆॶ֥ੀӱ YUI().use('datatable')
escape yui (Seed) widget datatable-core base-build datatable-head datatable-body model-list node-event-delegate
base-base attribute event-focus base-plugin-host node-base node-style classnamemanager view yui-base event-delegate pluginhost event-synthetic attribute-core attribute-events attribute-extras array-extras array-invoke arraylist json-parse model ࠹ෘ෮ླଆॶ֥ੀӱ YUI().use('datatable') ൌ࠽ഈdatatable܋Ⴕ64ἠଆॶ֖ླᄛೆ ၂۱၂۱ᄛೆ߶ޓҠིି YUI֥ԩٚൔູޅĤ
఼ն֥෪ࠏCombo
఼ն֥෪ࠏCombo ֥Combo ࠏᇅ ᆰࢤၛGETҕඔࡼ҂ଆॶ֖σԱ৵ѩቋཬ߄
఼ն֥෪ࠏCombo ֥Combo ࠏᇅ ᆰࢤၛGETҕඔࡼ҂ଆॶ֖σԱ৵ѩቋཬ߄ http://yui.yahooapis.com/combo? ଆॶ1֥ؓႋਫ਼ࣥ ଆॶ2֥ؓႋਫ਼ࣥ ଆॶ3֥ؓႋਫ਼ࣥ ଆॶn֥ؓႋਫ਼ࣥ
ѩྛ٤ೖࡆᄛ YUI().use('datatable')
YUI ᇕሰ֖σ ѩྛ٤ೖࡆᄛ YUI().use('datatable')
YUI ᇕሰ֖σ ᄛೆཌྷܱCSS ѩྛ٤ೖࡆᄛ YUI().use('datatable')
ࡼ෮ླJavaScriptଆॶٳ౨aѩྛ༯ᄛ YUI ᇕሰ֖σ ᄛೆཌྷܱCSS ѩྛ٤ೖࡆᄛ YUI().use('datatable')
ࡼ෮ླJavaScriptଆॶٳ౨aѩྛ༯ᄛ YUI ᇕሰ֖σ ᄛೆཌྷܱCSS ѩྛ٤ೖࡆᄛ ٳაComboઆࠠॉ੮ਔğwଆॶ༵ުඨxawଆॶඔਈxawᛍফఖൈ౨ඔ ਈxawᛍফఖ(&5Ӊ؇ཋᇅxđ٤ӈ֥ሱ߄bሱ࠭ေቓᆃဢ֥ࠏᇅ٤ӈ҂ၞb YUI().use('datatable')
YUI().use('datatable')
ՖᇕሰэӮնඎࣇਔ323ms 323ms YUI().use('datatable')
ՖᇕሰэӮնඎࣇਔ323ms 323ms ҂ਔࢳଽ౦֥ದ߶ඪ:6*ޓ٧ޓஔն ൌ࠽ഈᆺᄛೆླေ֥ଆॶaఃݦൔ९㢻Ⴕ≾∄ི֥ੱ YUI().use('datatable')
ՖᇕሰэӮնඎࣇਔ323ms 323ms ҂ਔࢳଽ౦֥ದ߶ඪ:6*ޓ٧ޓஔն ൌ࠽ഈᆺᄛೆླေ֥ଆॶaఃݦൔ९㢻Ⴕ≾∄ི֥ੱ YUI().use('datatable') ২ೂğႨK2VFSZᆇ֥ૄ်Ⴈ֥֞BKBYᆃ۱ݦൔગĤ
John Resig The creator of jQuery http://www.quora.com/How-could-YUI3-improve-its-image-compared-to-jQuery-MooTools-etc YUIᄛೆٚൔൌᄝSexyਔaႋФն৯ܼĆ
John Resig The creator of jQuery YUI().use() + pulling code
off of Yahoo's CDN is damn sexy and should be promoted *VERY* heavily. http://www.quora.com/How-could-YUI3-improve-its-image-compared-to-jQuery-MooTools-etc YUIᄛೆٚൔൌᄝSexyਔaႋФն৯ܼĆ
ႵଆॶࡏܒaႵଆॶ-PBEFSa ކቋࡄ߄֥ჹ؊ଆॶᄛೆࠏᇅĆ ߎ֩હĤॹ֞Ⴈᄝຩᅟ်૫ଆॶ֥ᄛೆࠏᇅഈĆ :6*֥ࡏܒᆞ൞෮௹ஏ֥
໙ีğ࿙ᅳComboࠏᇅู֥ս
໙ีğ࿙ᅳComboࠏᇅู֥ս ֥$PNCPࣇ܂ଽ҆ႨaߎݺႵದཿਔูսĆ ࿊ᄴ֥൞.JOJGZᆃ۱۽ऎđ၂ဢ߶Ϻቓයڛఖ؊ ֥ߏթaކѩა֖σቋཬ߄
໙ีğ࿙ᅳComboࠏᇅู֥ս ֥$PNCPࣇ܂ଽ҆ႨaߎݺႵದཿਔูսĆ http://code.google.com/p/minify/ Minify (PHP5) https://github.com/mrclay/minify ࿊ᄴ֥൞.JOJGZᆃ۱۽ऎđ၂ဢ߶Ϻቓයڛఖ؊ ֥ߏթaކѩა֖σቋཬ߄
໙ีğ࿙ᅳComboࠏᇅู֥ս ֥$PNCPࣇ܂ଽ҆ႨaߎݺႵದཿਔูսĆ http://code.google.com/p/minify/ Minify (PHP5) https://github.com/mrclay/minify http://<your host>/minify?f= ଆॶ1֥ؓႋਫ਼ࣥ ଆॶ2֥ؓႋਫ਼ࣥ
ଆॶn֥ؓႋਫ਼ࣥ ࿊ᄴ֥൞.JOJGZᆃ۱۽ऎđ၂ဢ߶Ϻቓයڛఖ؊ ֥ߏթaކѩა֖σቋཬ߄
ؽğ:6*ሱרଆॶቆഡקگᄖ
ؽğ:6*ሱרଆॶቆഡקگᄖ ٤:6*Чദ֥ଆॶ֤ਸ਼ຓקၬđᆃဢ҂ݺົ
ؽğ:6*ሱרଆॶቆഡקگᄖ YUI_config = {"filter":"raw","async":true,"combine":true,"comboBase":"combo/?f=","comboSep":",","root":"lib/yui/ build/","langs":"zh-TW,en-US","groups":{"mui":{"combine":true,"fetchCSS":true,"root":"lib/mui/","lang":["en-US","zh- TW"],"modules":{"platform-core":{"path":"platform/core.js","requires":["node-base","event-base","platform- sandbox"]},"platform-sandbox":{"path":"platform/sandbox.js"},"lang-service":{"path":"platform/lang_service.js","requires": ["platform-core","platform-sandbox","intl"]},"scroll-pagination":{"path":"scroll-pagination/scroll- pagination.js","requires":["event","event-resize","node-event-delegate","datasource","scroll-pagination-css"]},"scroll- pagination-css":{"path":"scroll-pagination/assets/scroll-pagination.css","type":"css"},"shjs":{"path":"shjs/
sh_php.min.js","requires":["shjs-core","shjs-css"]},"shjs-css":{"path":"shjs/sh_nedit.css","type":"css"},"mui-cssbutton": {"path":"cssbutton/assets/skins/miiicasa/cssbutton-skin.css","type":"css"},"shjs-core":{"path":"shjs/ sh_main.min.js"}}},"index":{"combine":true,"fetchCSS":false,"root":"index/","lang":["en-US","zh-TW"],"modules":{"welcome": {"path":"welcome/welcome.js","lang":["en-US","zh-TW"],"requires":["platform-core","platform-sandbox","lang- service","console"]},"welcome/_notification":{"path":"welcome/_notification.js","requires":["substitute","scroll- pagination","yql","panel","node-event-delegate","handlebars"]},"charming/_masthead":{"path":"charming/ _masthead.js","requires":["panel","shjs"]},"common/_sidebar":{"requires":["mui-cssbutton"]}}}}}; YUI().use("welcome","welcome/_notification","charming/_masthead","common/_sidebar"); ٤:6*Чദ֥ଆॶ֤ਸ਼ຓקၬđᆃဢ҂ݺົ
ğ$44҂ൡႨႿࡆᄛ
ğ$44҂ൡႨႿࡆᄛ :6*ა3FRVJSF+4ॖၛࡆᄛ$44a ᆺିҐႨࡆᄛ
ğ$44҂ൡႨႿࡆᄛ $44ྶᄝ)5.-ཁൕభࣼሙСݺđ ҂ಖᛍফఖྶ၂ᆰᇗྍᇅđؓຩᅟིି߶൞ޓն֥Ԋࠌ :6*ა3FRVJSF+4ॖၛࡆᄛ$44a ᆺିҐႨࡆᄛ
ğ$44҂ൡႨႿࡆᄛ $44ྶᄝ)5.-ཁൕభࣼሙСݺđ ҂ಖᛍফఖྶ၂ᆰᇗྍᇅđؓຩᅟིି߶൞ޓն֥Ԋࠌ <link rel="stylesheet" href="page.css" media="all"> :6*ა3FRVJSF+4ॖၛࡆᄛ$44a ᆺିҐႨࡆᄛ
:6*ࢳथਔն҆ٳ֥ླ ഺ༯֥ూਃ֤ሱ࠭ࡹഡĆ http://www.flickr.com/photos/defenceimages/6771187177/
https://github.com/josephj/static-loader ၂ѩࢳथ:6*ቆ֥گᄖ؇ა ಞ$44Ԯࡆᄛ :6*ࢳथਔն҆ٳ֥ླ ഺ༯֥ూਃ֤ሱ࠭ࡹഡĆ http://www.flickr.com/photos/defenceimages/6771187177/
ਆρֹ֥षؿᆀ ᆃ߭ૌေࡆഈଆॶ၇ঠܱ༢Ć http://josephj.com/lab/2012/github-chinese-develope/ 资讯模块 列表模块 _info.php _info.css _info.js _list.php _list.css
_list.js 条件过滤模块 _filter.php _filter.css _filter.js
ਆρֹ֥षؿᆀ ᆃ߭ૌေࡆഈଆॶ၇ঠܱ༢Ć http://josephj.com/lab/2012/github-chinese-develope/ 资讯模块 列表模块 _info.php _info.css _info.js _list.php _list.css
_list.js 条件过滤模块 _filter.php _filter.css _filter.js module, cookie •module • node-event-delegate • node-style • node-screen • cache • jsonp • handlebars • event-resize •cookie •module • node-base •handlebars
ૄ۱ଆॶ֥ቆഡק ҂ᄜ→Ὂ ර.JOJ֥∉૫℟ק
ૄ۱ଆॶ֥ቆഡק ҂ᄜ→Ὂ ර.JOJ֥∉૫℟ק
ૄ۱ଆॶ֥ቆഡק ଆॶקၬሱദ+4ა$44໊ᇂ ࠣ၇ঠܱ༢ ҂ᄜ→Ὂ ර.JOJ֥∉૫℟ק
ᆷקՎ်૫Ⴕଧ်ུ૫ଆॶ ޓᆰत֥ᆷקٚൔ
ᆷקՎ်૫Ⴕଧ်ུ૫ଆॶ ޓᆰत֥ᆷקٚൔ
ᆷקՎ်૫Ⴕଧ်ུ૫ଆॶ ҂ླᆩ֡Мᗥ֥၇ῳଆΰĆᆺေᆷק်૫ଆॶ ၍Ԣ္҂ླေքྏ႕ཙљ֥ଆॶ ޓᆰत֥ᆷקٚൔ
ၞࡼ෮Ⴕླေ֥ഡקაѓదൻԛ گᄖ֥൙౦ႋھࢌ۳ӱൔটቓάĆ
ၞࡼ෮Ⴕླေ֥ഡקაѓదൻԛ گᄖ֥൙౦ႋھࢌ۳ӱൔটቓάĆ
ၞࡼ෮Ⴕླေ֥ഡקაѓదൻԛ گᄖ֥൙౦ႋھࢌ۳ӱൔটቓάĆ
ࡆᄛ֥ٚൔٳႪၳ
ࡆᄛ֥ٚൔٳႪၳ ၛԮٚൔࡆᄛᇕሰა်૫$44
ࡆᄛ֥ٚൔٳႪၳ ٳ❣ứ֥+4౨ ൞ሱ࠹ෘ၇ঠܱ༢طളӮ ၛԮٚൔࡆᄛᇕሰა်૫$44
ໃটषؿॖၛປಆህᇿᄝଆॶഈ
ໃটषؿॖၛປಆህᇿᄝଆॶഈ "๙ᆩ༏ଆॶ (_notification) ଆॶषؿᆀ" ଆॶӫ welcome/_notification $44֖σ welcome/_notification.css +4֖σ welcome/_notification.js
ཌྷ၇ଆॶ scroll-pagination, node-event-delegate, viewer
ໃটषؿॖၛປಆህᇿᄝଆॶഈ "๙ᆩ༏ଆॶ (_notification) ଆॶषؿᆀ" #်൮ଆॶ (_masthead) ଆॶषؿᆀ# ଆॶӫ welcome/_notification $44֖σ
welcome/_notification.css +4֖σ welcome/_notification.js ཌྷ၇ଆॶ scroll-pagination, node-event-delegate, viewer ଆॶӫ common/_masthead $44֖σ common/_masthead.css +4֖σ common/_masthead.js ෮ླଆॶ panel, device-navigation
ໃটषؿॖၛປಆህᇿᄝଆॶഈ "๙ᆩ༏ଆॶ (_notification) ଆॶषؿᆀ" #်൮ଆॶ (_masthead) ଆॶषؿᆀ# $ҧшণଆॶ (_sidebar) ଆॶषؿᆀ$
ଆॶӫ welcome/_notification $44֖σ welcome/_notification.css +4֖σ welcome/_notification.js ཌྷ၇ଆॶ scroll-pagination, node-event-delegate, viewer ଆॶӫ common/_masthead $44֖σ common/_masthead.css +4֖σ common/_masthead.js ෮ླଆॶ panel, device-navigation ଆॶӫ welcome/_sidebar $44֖σ welcome/_sidebar.css +4֖σ ↥ ෮ླଆॶ ↥
ቋުᄜ$POUSPMMFSᆷק်૫ଆॶࠧॖ ֨ೆު൮် welcome.php 页面开发者
ቋުᄜ$POUSPMMFSᆷק်૫ଆॶࠧॖ ֨ೆު൮် welcome.php 页面开发者 Վ်૫Ⴕၛ༯ଆॶğ ·•welcome/_notification ·•charming/_masthead ·•common/_sidebar
߭Ἢ်Ҫࠩഡק෮ᄥმ֥
߭Ἢ်Ҫࠩഡק෮ᄥმ֥ c #VJMEིੱ໙ี ҂ᄜ#VJMEđႮ.JOJGZᄝཌഈሱކѩa෪aϱЧ॥ܵb
߭Ἢ်Ҫࠩഡק෮ᄥმ֥ c #VJMEིੱ໙ี ҂ᄜ#VJMEđႮ.JOJGZᄝཌഈሱކѩa෪aϱЧ॥ܵb c ཌഈԢհ໙ี ჰ֖σࢥթᄝđॖၛᆰࢤྩᆞ໙ีđᆺေϜ.JOJGZؓႋ֥ߏթीוࠧॖ
߭Ἢ်Ҫࠩഡק෮ᄥმ֥ c #VJMEིੱ໙ี ҂ᄜ#VJMEđႮ.JOJGZᄝཌഈሱކѩa෪aϱЧ॥ܵb c ཌഈԢհ໙ี ჰ֖σࢥթᄝđॖၛᆰࢤྩᆞ໙ีđᆺေϜ.JOJGZؓႋ֥ߏթीוࠧॖ c ົྟ໙ี Ῐứᆀᆺקၬሱദଆॶ֥ཌྷ၇ྟaᆜ်෮ླଆΰႮ:6*-PBEFSίෘᗥሱọ≘
ೆđܵಸၞྸ؟b
߭Ἢ်Ҫࠩഡק෮ᄥმ֥ c #VJMEིੱ໙ี ҂ᄜ#VJMEđႮ.JOJGZᄝཌഈሱކѩa෪aϱЧ॥ܵb c ཌഈԢհ໙ี ჰ֖σࢥթᄝđॖၛᆰࢤྩᆞ໙ีđᆺေϜ.JOJGZؓႋ֥ߏթीוࠧॖ c ົྟ໙ี Ῐứᆀᆺקၬሱദଆॶ֥ཌྷ၇ྟaᆜ်෮ླଆΰႮ:6*-PBEFSίෘᗥሱọ≘
ೆđܵಸၞྸ؟b c ܋Ⴈ֥ߏթ໙ี Ԣਔಆთ܋ႨҐႨ.JOJGZᇏ֥HSPVQ$POGJHđఃᘧ҂ԩaх૧ົ໙ี
ࢲე
်Ҫ֥ࠩഡᇂॖམӮwᇏနࠢಃx ഡᇂಸၞbԚ௹၂ଢਔಖđܿଆэնࣼܵ҂ၞb ࢲე
်Ҫ֥ࠩഡᇂॖམӮwᇏနࠢಃx ഡᇂಸၞbԚ௹၂ଢਔಖđܿଆэնࣼܵ҂ၞb ଆॶҪࠩ℟קᄵ൞wֹٚሱᇍx ഡᇂࢠگᄖaؓӉ௹ົࢠႵིੱb ކཌྷ၇ྟ࠹ෘaሱކѩa٤҄༯ᄛ֩ࠏᇅ ಞ်૫ଆॶᆇ֥ቓ֞ෛҬࠧႨ ࢲე
ࢲე
#JH1JQF൞ޓ؟ຩᅟམൌቔ֥ଢѓ ൮༵֤wࡹ৫ଆॶཌྷ၇ྟxawҐႨ်૫ଆॶषؿଆൔx ༵ࡹ৫ଆॶ֝ཟषؿଆൔҌॖିႵൌቔ֥ࠏ߶ ܝৣࢠऎܿଆ֥ຩᅟषສᆃٚཟ၍ ࢲე
ཌྷܱ৵ࢲ c2010ࡹ৫భ؊षؿؒ IUUQXXXTMJEFTIBSFOFUTEDD cॴଆॶ๙ࠏᇅ IUUQHJUIVCDPNNJJJDBTBNPEVMF cMiniࡆᄛ۽ऎ IUUQHJUIVCDPNKPTFQIKNJOJ cଆॶࡆᄛࠏᇅ IUUQHJUIVCDPNKPTFQIKTUBUJDMPBEFS cਆρֹ֥GitHubषؿᆀ
IUUQHJUIVCDPNKPTFQIKHJUIVCDIJOFTFEFWFMPQ c֥Ѱग़ğᆃဢቓࣼؓਔ IUUQKPTFQIKDPN c֥EmailğKPTFQIK!HNBJMDPN 今天看到的所有程式码或工具都是可分享的!
Questions?
miiiCasa ࡅ๖≐aࡹ৫ࡅᇏ֥SNS 在北京工作的⼀一家人
miiiCasa ࡅ๖≐aࡹ৫ࡅᇏ֥SNS 在北京工作的⼀一家人 在老家重慶的奶奶
miiiCasa ࡅ๖≐aࡹ৫ࡅᇏ֥SNS 在北京工作的⼀一家人 在老家重慶的奶奶 位於家中、可存放照片的分享器
miiiCasa ࡅ๖≐aࡹ৫ࡅᇏ֥SNS 在北京工作的⼀一家人 在老家重慶的奶奶 位於家中、可存放照片的分享器 ৵ຩ
miiiCasa ࡅ๖≐aࡹ৫ࡅᇏ֥SNS 在北京工作的⼀一家人 在老家重慶的奶奶 想看孫女只要换个频道就可以了 位於家中、可存放照片的分享器 ৵ຩ
None