awps-assets.meituan.net...[0 [1 bodyParser ѲÜt R+LI A,Lg / 9 3 ,! 4 < 不 • • u • • s /...
Transcript of awps-assets.meituan.net...[0 [1 bodyParser ѲÜt R+LI A,Lg / 9 3 ,! 4 < 不 • • u • • s /...
![Page 1: awps-assets.meituan.net...[0 [1 bodyParser ѲÜt R+LI A,Lg / 9 3 ,! 4 < 不 • • u • • s / 9 3 ,! 4 < ßòý Dev-Server [/ start loadApp loadReq/Resp loadCtxt loadExt loadMid](https://reader035.fdocument.pub/reader035/viewer/2022071421/611a5c5d37f0e9679608d80c/html5/thumbnails/1.jpg)
m
![Page 2: awps-assets.meituan.net...[0 [1 bodyParser ѲÜt R+LI A,Lg / 9 3 ,! 4 < 不 • • u • • s / 9 3 ,! 4 < ßòý Dev-Server [/ start loadApp loadReq/Resp loadCtxt loadExt loadMid](https://reader035.fdocument.pub/reader035/viewer/2022071421/611a5c5d37f0e9679608d80c/html5/thumbnails/2.jpg)
y
) p e
) p
y
![Page 3: awps-assets.meituan.net...[0 [1 bodyParser ѲÜt R+LI A,Lg / 9 3 ,! 4 < 不 • • u • • s / 9 3 ,! 4 < ßòý Dev-Server [/ start loadApp loadReq/Resp loadCtxt loadExt loadMid](https://reader035.fdocument.pub/reader035/viewer/2022071421/611a5c5d37f0e9679608d80c/html5/thumbnails/3.jpg)
2010 - 2014
YUI + FTL
2017我
2016MVVM
2016BG
2015
Nodejs
2015Vue React
2014
zepto
2017
2018...
�/�9 �3�,! �4�<
- 的
. 4
-55
41 026 14 0
. 4
7
![Page 4: awps-assets.meituan.net...[0 [1 bodyParser ѲÜt R+LI A,Lg / 9 3 ,! 4 < 不 • • u • • s / 9 3 ,! 4 < ßòý Dev-Server [/ start loadApp loadReq/Resp loadCtxt loadExt loadMid](https://reader035.fdocument.pub/reader035/viewer/2022071421/611a5c5d37f0e9679608d80c/html5/thumbnails/4.jpg)
r
y r
�/�9 �3�,! �4�<
-
![Page 5: awps-assets.meituan.net...[0 [1 bodyParser ѲÜt R+LI A,Lg / 9 3 ,! 4 < 不 • • u • • s / 9 3 ,! 4 < ßòý Dev-Server [/ start loadApp loadReq/Resp loadCtxt loadExt loadMid](https://reader035.fdocument.pub/reader035/viewer/2022071421/611a5c5d37f0e9679608d80c/html5/thumbnails/5.jpg)
�/�9 �3�,! �4�<
f
y r c d
f
•
• o b
• g c
• c
![Page 6: awps-assets.meituan.net...[0 [1 bodyParser ѲÜt R+LI A,Lg / 9 3 ,! 4 < 不 • • u • • s / 9 3 ,! 4 < ßòý Dev-Server [/ start loadApp loadReq/Resp loadCtxt loadExt loadMid](https://reader035.fdocument.pub/reader035/viewer/2022071421/611a5c5d37f0e9679608d80c/html5/thumbnails/6.jpg)
�/�9 �3�,! �4�<
k W
![Page 7: awps-assets.meituan.net...[0 [1 bodyParser ѲÜt R+LI A,Lg / 9 3 ,! 4 < 不 • • u • • s / 9 3 ,! 4 < ßòý Dev-Server [/ start loadApp loadReq/Resp loadCtxt loadExt loadMid](https://reader035.fdocument.pub/reader035/viewer/2022071421/611a5c5d37f0e9679608d80c/html5/thumbnails/7.jpg)
�/�9 �3�,! �4�<
= = I.
W = B DI
= L W
k W
![Page 8: awps-assets.meituan.net...[0 [1 bodyParser ѲÜt R+LI A,Lg / 9 3 ,! 4 < 不 • • u • • s / 9 3 ,! 4 < ßòý Dev-Server [/ start loadApp loadReq/Resp loadCtxt loadExt loadMid](https://reader035.fdocument.pub/reader035/viewer/2022071421/611a5c5d37f0e9679608d80c/html5/thumbnails/8.jpg)
�/�9 �3�,! �4�<
oW g
k W
![Page 9: awps-assets.meituan.net...[0 [1 bodyParser ѲÜt R+LI A,Lg / 9 3 ,! 4 < 不 • • u • • s / 9 3 ,! 4 < ßòý Dev-Server [/ start loadApp loadReq/Resp loadCtxt loadExt loadMid](https://reader035.fdocument.pub/reader035/viewer/2022071421/611a5c5d37f0e9679608d80c/html5/thumbnails/9.jpg)
�/�9 �3�,! �4�<
u d
/
![Page 10: awps-assets.meituan.net...[0 [1 bodyParser ѲÜt R+LI A,Lg / 9 3 ,! 4 < 不 • • u • • s / 9 3 ,! 4 < ßòý Dev-Server [/ start loadApp loadReq/Resp loadCtxt loadExt loadMid](https://reader035.fdocument.pub/reader035/viewer/2022071421/611a5c5d37f0e9679608d80c/html5/thumbnails/10.jpg)
v
�/�9 �3�,! �4�<
• v 15
• 2= 7= =
• = A
• =B= = ?
![Page 11: awps-assets.meituan.net...[0 [1 bodyParser ѲÜt R+LI A,Lg / 9 3 ,! 4 < 不 • • u • • s / 9 3 ,! 4 < ßòý Dev-Server [/ start loadApp loadReq/Resp loadCtxt loadExt loadMid](https://reader035.fdocument.pub/reader035/viewer/2022071421/611a5c5d37f0e9679608d80c/html5/thumbnails/11.jpg)
Webpack
babel/eslint
Node Server:
: CDN
�/�9 �3�,! �4�<
CLI react/vue?
eslint? redux/redux不
a [ “S T
![Page 12: awps-assets.meituan.net...[0 [1 bodyParser ѲÜt R+LI A,Lg / 9 3 ,! 4 < 不 • • u • • s / 9 3 ,! 4 < ßòý Dev-Server [/ start loadApp loadReq/Resp loadCtxt loadExt loadMid](https://reader035.fdocument.pub/reader035/viewer/2022071421/611a5c5d37f0e9679608d80c/html5/thumbnails/12.jpg)
PluginDPluginC
PluginA PluginB
�/�9 �3�,! �4�<
“ ”
Webpack
babel/eslint
Node Server:
: CDN
CLI react/vue?
eslint? redux/redux不
… proxy mock pwa cacheABtest thrift …
![Page 13: awps-assets.meituan.net...[0 [1 bodyParser ѲÜt R+LI A,Lg / 9 3 ,! 4 < 不 • • u • • s / 9 3 ,! 4 < ßòý Dev-Server [/ start loadApp loadReq/Resp loadCtxt loadExt loadMid](https://reader035.fdocument.pub/reader035/viewer/2022071421/611a5c5d37f0e9679608d80c/html5/thumbnails/13.jpg)
�/�9 �3�,! �4�<
- a ”y
n - ”y a
n -
-
a t p “ h s lS T
a a
![Page 14: awps-assets.meituan.net...[0 [1 bodyParser ѲÜt R+LI A,Lg / 9 3 ,! 4 < 不 • • u • • s / 9 3 ,! 4 < ßòý Dev-Server [/ start loadApp loadReq/Resp loadCtxt loadExt loadMid](https://reader035.fdocument.pub/reader035/viewer/2022071421/611a5c5d37f0e9679608d80c/html5/thumbnails/14.jpg)
�/�9 �3�,! �4�<
不
[ / listenstart loadApp loadReq/Resp loadCtxt loadExt loadMid loadRouter loadCtr …
listenstart loadApp loadReq/Resp loadCtxt loadExt loadMid loadRouter loadCtr …
UA
listenstart loadApp loadReq/Resp loadCtxt loadExt loadMid loadRouter loadCtr …
[ 0
[ 1
bodyParser
LI A L g
![Page 15: awps-assets.meituan.net...[0 [1 bodyParser ѲÜt R+LI A,Lg / 9 3 ,! 4 < 不 • • u • • s / 9 3 ,! 4 < ßòý Dev-Server [/ start loadApp loadReq/Resp loadCtxt loadExt loadMid](https://reader035.fdocument.pub/reader035/viewer/2022071421/611a5c5d37f0e9679608d80c/html5/thumbnails/15.jpg)
�/�9 �3�,! �4�<
不
•
• u
•
• s
![Page 16: awps-assets.meituan.net...[0 [1 bodyParser ѲÜt R+LI A,Lg / 9 3 ,! 4 < 不 • • u • • s / 9 3 ,! 4 < ßòý Dev-Server [/ start loadApp loadReq/Resp loadCtxt loadExt loadMid](https://reader035.fdocument.pub/reader035/viewer/2022071421/611a5c5d37f0e9679608d80c/html5/thumbnails/16.jpg)
�/�9 �3�,! �4�<
Dev-Server
[ / listenstart loadApp loadReq/Resp loadCtxt loadExt loadMid loadRouter loadCtr …
listenstart loadApp loadReq/Resp loadCtxt loadExt loadMid loadRouter loadCtr …
listenstart loadApp loadReq/Resp loadCtxt loadExt loadMid loadRouter loadCtr …
[ 0
[ 1
listenstart loadApp loadReq/Resp loadCtxt loadExt loadMid loadRouter loadCtr …U
/LL L P G D M BG
LL G O%LP = A> %I L LL . B/LL
LL B/LL MC L MC LU
![Page 17: awps-assets.meituan.net...[0 [1 bodyParser ѲÜt R+LI A,Lg / 9 3 ,! 4 < 不 • • u • • s / 9 3 ,! 4 < ßòý Dev-Server [/ start loadApp loadReq/Resp loadCtxt loadExt loadMid](https://reader035.fdocument.pub/reader035/viewer/2022071421/611a5c5d37f0e9679608d80c/html5/thumbnails/17.jpg)
�/�9 �3�,! �4�<
Dev-Server
[ / listenstart loadApp loadReq/Resp loadCtxt loadExt loadMid loadRouter loadCtr …
LL B/LL MC L MC LU
listenstart loadApp loadReq/Resp loadCtxt loadExt loadMid loadRouter loadCtr …[ 1
listenstart loadApp loadReq/Resp loadCtxt loadExt loadMid loadRouter loadCtr …U
loadPlugin
/LL L P G D M BG
O G % B/
![Page 18: awps-assets.meituan.net...[0 [1 bodyParser ѲÜt R+LI A,Lg / 9 3 ,! 4 < 不 • • u • • s / 9 3 ,! 4 < ßòý Dev-Server [/ start loadApp loadReq/Resp loadCtxt loadExt loadMid](https://reader035.fdocument.pub/reader035/viewer/2022071421/611a5c5d37f0e9679608d80c/html5/thumbnails/18.jpg)
�/�9 �3�,! �4�<
Everything is plugin
/LL P G
• [ 0l [ /
•
•
![Page 19: awps-assets.meituan.net...[0 [1 bodyParser ѲÜt R+LI A,Lg / 9 3 ,! 4 < 不 • • u • • s / 9 3 ,! 4 < ßòý Dev-Server [/ start loadApp loadReq/Resp loadCtxt loadExt loadMid](https://reader035.fdocument.pub/reader035/viewer/2022071421/611a5c5d37f0e9679608d80c/html5/thumbnails/19.jpg)
�/�9 �3�,! �4�<
(%
![Page 20: awps-assets.meituan.net...[0 [1 bodyParser ѲÜt R+LI A,Lg / 9 3 ,! 4 < 不 • • u • • s / 9 3 ,! 4 < ßòý Dev-Server [/ start loadApp loadReq/Resp loadCtxt loadExt loadMid](https://reader035.fdocument.pub/reader035/viewer/2022071421/611a5c5d37f0e9679608d80c/html5/thumbnails/20.jpg)
�/�9 �3�,! �4�<
[
(% )%
![Page 21: awps-assets.meituan.net...[0 [1 bodyParser ѲÜt R+LI A,Lg / 9 3 ,! 4 < 不 • • u • • s / 9 3 ,! 4 < ßòý Dev-Server [/ start loadApp loadReq/Resp loadCtxt loadExt loadMid](https://reader035.fdocument.pub/reader035/viewer/2022071421/611a5c5d37f0e9679608d80c/html5/thumbnails/21.jpg)
�/�9 �3�,! �4�<
(% )%
% oc
[
![Page 22: awps-assets.meituan.net...[0 [1 bodyParser ѲÜt R+LI A,Lg / 9 3 ,! 4 < 不 • • u • • s / 9 3 ,! 4 < ßòý Dev-Server [/ start loadApp loadReq/Resp loadCtxt loadExt loadMid](https://reader035.fdocument.pub/reader035/viewer/2022071421/611a5c5d37f0e9679608d80c/html5/thumbnails/22.jpg)
PluginDPluginC
PluginA PluginB
Webpack
babel/eslint
Node Server:
: CDN
CLI react/vue?
eslint? redux/redux?
?
�/�9 �3�,! �4�<
我Everything is plugin
… proxy mock pwa cacheABtest thrift …B > D
n [
![Page 23: awps-assets.meituan.net...[0 [1 bodyParser ѲÜt R+LI A,Lg / 9 3 ,! 4 < 不 • • u • • s / 9 3 ,! 4 < ßòý Dev-Server [/ start loadApp loadReq/Resp loadCtxt loadExt loadMid](https://reader035.fdocument.pub/reader035/viewer/2022071421/611a5c5d37f0e9679608d80c/html5/thumbnails/23.jpg)
�/�9 �3�,! �4�<
不 -
e gS T e (S T • h
• i
• 1 = I M
•
•
•
![Page 24: awps-assets.meituan.net...[0 [1 bodyParser ѲÜt R+LI A,Lg / 9 3 ,! 4 < 不 • • u • • s / 9 3 ,! 4 < ßòý Dev-Server [/ start loadApp loadReq/Resp loadCtxt loadExt loadMid](https://reader035.fdocument.pub/reader035/viewer/2022071421/611a5c5d37f0e9679608d80c/html5/thumbnails/24.jpg)
�/�9 �3�,! �4�<
) ( ( x a t l
(, y 30 = E B
,
L 3 B DI D D>
3 E EC B D> I=C B I= Wx 1 D I = EB = 6E B=
![Page 25: awps-assets.meituan.net...[0 [1 bodyParser ѲÜt R+LI A,Lg / 9 3 ,! 4 < 不 • • u • • s / 9 3 ,! 4 < ßòý Dev-Server [/ start loadApp loadReq/Resp loadCtxt loadExt loadMid](https://reader035.fdocument.pub/reader035/viewer/2022071421/611a5c5d37f0e9679608d80c/html5/thumbnails/25.jpg)
�/�9 �3�,! �4�<
我 不
u
y t
![Page 26: awps-assets.meituan.net...[0 [1 bodyParser ѲÜt R+LI A,Lg / 9 3 ,! 4 < 不 • • u • • s / 9 3 ,! 4 < ßòý Dev-Server [/ start loadApp loadReq/Resp loadCtxt loadExt loadMid](https://reader035.fdocument.pub/reader035/viewer/2022071421/611a5c5d37f0e9679608d80c/html5/thumbnails/26.jpg)
�/�9 �3�,! �4�<
• ]
/ W S
• d
/
• i … f
/ m [
c 2CQ7L 3 4 1
![Page 27: awps-assets.meituan.net...[0 [1 bodyParser ѲÜt R+LI A,Lg / 9 3 ,! 4 < 不 • • u • • s / 9 3 ,! 4 < ßòý Dev-Server [/ start loadApp loadReq/Resp loadCtxt loadExt loadMid](https://reader035.fdocument.pub/reader035/viewer/2022071421/611a5c5d37f0e9679608d80c/html5/thumbnails/27.jpg)
�/�9 �3�,! �4�<
我
… proxy mock pwa cacheABtest thrift …Plugin
PluginDPluginC
init raw project
clone template
PluginA PluginB
Webpack
babel/eslint
Node Server:
: CDN
Template A B C D …E
![Page 28: awps-assets.meituan.net...[0 [1 bodyParser ѲÜt R+LI A,Lg / 9 3 ,! 4 < 不 • • u • • s / 9 3 ,! 4 < ßòý Dev-Server [/ start loadApp loadReq/Resp loadCtxt loadExt loadMid](https://reader035.fdocument.pub/reader035/viewer/2022071421/611a5c5d37f0e9679608d80c/html5/thumbnails/28.jpg)
�/�9 �3�,! �4�<
b
Mobile
HybirdC
Node
[ tS T
![Page 29: awps-assets.meituan.net...[0 [1 bodyParser ѲÜt R+LI A,Lg / 9 3 ,! 4 < 不 • • u • • s / 9 3 ,! 4 < ßòý Dev-Server [/ start loadApp loadReq/Resp loadCtxt loadExt loadMid](https://reader035.fdocument.pub/reader035/viewer/2022071421/611a5c5d37f0e9679608d80c/html5/thumbnails/29.jpg)
Erajs + Ones = Techless Web Apps
%��$(��.1
��'��� ��2;��)
6� �+0
��!7*�=
���
�"�+
”“
���:&
�-�#85
�/�9 �3�,! �4�<
![Page 30: awps-assets.meituan.net...[0 [1 bodyParser ѲÜt R+LI A,Lg / 9 3 ,! 4 < 不 • • u • • s / 9 3 ,! 4 < ßòý Dev-Server [/ start loadApp loadReq/Resp loadCtxt loadExt loadMid](https://reader035.fdocument.pub/reader035/viewer/2022071421/611a5c5d37f0e9679608d80c/html5/thumbnails/30.jpg)
Q&A