{"id":2219,"date":"2015-06-12T14:59:37","date_gmt":"2015-06-12T07:59:37","guid":{"rendered":"https:\/\/engineerball.com\/?p=2219"},"modified":"2015-06-12T14:59:37","modified_gmt":"2015-06-12T07:59:37","slug":"frontend-development-with-yeoman","status":"publish","type":"post","link":"https:\/\/engineerball.com\/blog\/2015\/06\/12\/frontend-development-with-yeoman.html","title":{"rendered":"\u0e25\u0e2d\u0e07\u0e1e\u0e31\u0e12\u0e19\u0e32 Web Frontend \u0e14\u0e49\u0e27\u0e22 Yeoman"},"content":{"rendered":"<p>\u0e42\u0e25\u0e01\u0e02\u0e2d\u0e07 Web Frontend \u0e17\u0e38\u0e01\u0e27\u0e31\u0e19\u0e19\u0e35\u0e49\u0e21\u0e35\u0e40\u0e04\u0e23\u0e37\u0e48\u0e2d\u0e07\u0e44\u0e21\u0e49\u0e40\u0e04\u0e23\u0e37\u0e48\u0e2d\u0e07\u0e21\u0e37\u0e2d\u0e15\u0e48\u0e32\u0e07\u0e46 \u0e43\u0e2b\u0e49\u0e43\u0e0a\u0e49\u0e40\u0e22\u0e2d\u0e30\u0e21\u0e32\u0e01 \u0e15\u0e32\u0e21\u0e41\u0e17\u0e1a\u0e44\u0e21\u0e48\u0e17\u0e31\u0e19 \u0e27\u0e31\u0e19\u0e19\u0e35\u0e49\u0e08\u0e30\u0e21\u0e32\u0e41\u0e19\u0e30\u0e19\u0e33\u0e40\u0e04\u0e23\u0e37\u0e48\u0e2d\u0e07\u0e21\u0e37\u0e48\u0e2d\u0e17\u0e35\u0e48\u0e43\u0e19\u0e01\u0e32\u0e23\u0e43\u0e0a\u0e49\u0e2a\u0e23\u0e49\u0e32\u0e07\u0e42\u0e04\u0e23\u0e07\u0e02\u0e2d\u0e07 Web Application \u0e08\u0e32\u0e01\u0e04\u0e27\u0e32\u0e21\u0e2a\u0e32\u0e21\u0e32\u0e23\u0e16\u0e02\u0e2d\u0e07 Node.js \u0e01\u0e31\u0e19\u0e04\u0e23\u0e31\u0e1a<\/p>\n<p>Node.js \u0e1e\u0e39\u0e14\u0e07\u0e48\u0e32\u0e22\u0e46 \u0e01\u0e47\u0e04\u0e37\u0e2d\u0e01\u0e32\u0e23\u0e40\u0e02\u0e35\u0e22\u0e19\u0e42\u0e1b\u0e23\u0e41\u0e01\u0e23\u0e21\u0e14\u0e49\u0e27\u0e22 javascript \u0e41\u0e2b\u0e25\u0e48\u0e30\u0e04\u0e23\u0e31\u0e1a \u0e0b\u0e36\u0e48\u0e07 node.js \u0e19\u0e31\u0e49\u0e19\u0e21\u0e35 module \u0e15\u0e48\u0e32\u0e07\u0e46 \u0e43\u0e2b\u0e49\u0e40\u0e23\u0e32\u0e44\u0e14\u0e49\u0e40\u0e25\u0e37\u0e2d\u0e01\u0e43\u0e0a\u0e49\u0e21\u0e32\u0e01\u0e21\u0e32\u0e22 \u0e01\u0e32\u0e23\u0e15\u0e34\u0e14\u0e15\u0e31\u0e49\u0e07 node.js \u0e01\u0e47\u0e40\u0e02\u0e49\u0e32\u0e44\u0e1b\u0e14\u0e32\u0e27\u0e19\u0e4c\u0e42\u0e2b\u0e25\u0e14\u0e41\u0e25\u0e49\u0e27\u0e15\u0e34\u0e14\u0e15\u0e31\u0e49\u0e07\u0e44\u0e14\u0e49\u0e17\u0e35\u0e48<\/p>\n<p>\u0e2a\u0e48\u0e27\u0e19\u0e01\u0e32\u0e23\u0e15\u0e34\u0e14\u0e15\u0e31\u0e49\u0e07 module \u0e15\u0e48\u0e32\u0e07\u0e46 \u0e01\u0e47\u0e2a\u0e32\u0e21\u0e32\u0e23\u0e16\u0e1e\u0e34\u0e21\u0e1e\u0e4c\u0e04\u0e33\u0e2a\u0e31\u0e48\u0e07\u0e25\u0e07\u0e43\u0e19 terminal, cmd \u0e44\u0e14\u0e49\u0e40\u0e25\u0e22\u0e04\u0e23\u0e31\u0e1a<\/p>\n<p>\u0e15\u0e34\u0e14\u0e15\u0e31\u0e49\u0e07 Module \u0e20\u0e32\u0e22\u0e43\u0e19 directory \u0e19\u0e31\u0e49\u0e19<\/p>\n<p>[shell]npm install &lt;package name&gt;[\/shell]<\/p>\n<p>\u0e15\u0e34\u0e14\u0e15\u0e31\u0e49\u0e07 Module \u0e41\u0e1a\u0e1a Global \u0e43\u0e19\u0e40\u0e04\u0e23\u0e37\u0e48\u0e2d\u0e07<\/p>\n<p>[shell]npm install -g &lt;package name&gt;[\/shell]<\/p>\n<p>\u0e2a\u0e48\u0e27\u0e19 module \u0e17\u0e35\u0e48\u0e40\u0e23\u0e32\u0e08\u0e30\u0e43\u0e0a\u0e49\u0e07\u0e32\u0e19\u0e27\u0e31\u0e19\u0e19\u0e35\u0e49\u0e08\u0e30\u0e21\u0e35 Yeoman, Bower \u0e41\u0e25\u0e30 Grunt \u0e21\u0e32\u0e14\u0e39\u0e01\u0e31\u0e19\u0e27\u0e48\u0e32\u0e41\u0e15\u0e48\u0e25\u0e30\u0e15\u0e31\u0e27\u0e04\u0e37\u0e2d\u0e2d\u0e30\u0e44\u0e23 \u0e41\u0e25\u0e49\u0e27\u0e17\u0e33\u0e2b\u0e19\u0e49\u0e32\u0e17\u0e35\u0e48\u0e2d\u0e30\u0e44\u0e23\u0e01\u0e31\u0e19<\/p>\n<p><a href=\"https:\/\/engineerball.com\/wp-content\/uploads\/2015\/06\/yo-grunt-bower.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-2224 \" src=\"https:\/\/engineerball.com\/wp-content\/uploads\/2015\/06\/yo-grunt-bower-420x163.jpg\" alt=\"yo-grunt-bower\" width=\"665\" height=\"258\" srcset=\"https:\/\/engineerball.com\/blog\/wp-content\/uploads\/2015\/06\/yo-grunt-bower-420x163.jpg 420w, https:\/\/engineerball.com\/blog\/wp-content\/uploads\/2015\/06\/yo-grunt-bower.jpg 683w\" sizes=\"(max-width: 665px) 100vw, 665px\" \/><\/a><\/p>\n<p><a href=\"http:\/\/yeoman.io\/\">Yeoman<\/a> \u0e04\u0e37\u0e2d\u0e40\u0e04\u0e23\u0e37\u0e48\u0e2d\u0e07\u0e21\u0e37\u0e2d\u0e17\u0e35\u0e48\u0e43\u0e0a\u0e49\u0e2a\u0e33\u0e2b\u0e23\u0e31\u0e1a\u0e2a\u0e23\u0e49\u0e32\u0e07\u0e42\u0e04\u0e23\u0e07\u0e2a\u0e23\u0e49\u0e32\u0e07\u0e02\u0e2d\u0e07 application \u0e40\u0e23\u0e35\u0e22\u0e01\u0e2d\u0e35\u0e01\u0e2d\u0e22\u0e48\u0e32\u0e07\u0e2b\u0e19\u0e36\u0e48\u0e07\u0e27\u0e48\u0e32 generator<\/p>\n<p><a href=\"http:\/\/bower.io\/\">Bower<\/a> \u0e04\u0e37\u0e2d\u0e40\u0e04\u0e23\u0e37\u0e48\u0e2d\u0e07\u0e21\u0e37\u0e2d\u0e17\u0e35\u0e48\u0e43\u0e0a\u0e49\u0e43\u0e19\u0e01\u0e32\u0e23\u0e08\u0e31\u0e14\u0e01\u0e32\u0e23 package \u0e15\u0e48\u0e32\u0e07\u0e46 \u0e02\u0e2d\u0e07 application \u0e2d\u0e22\u0e48\u0e32\u0e07\u0e40\u0e0a\u0e48\u0e19 bootstrap, jquery \u0e40\u0e1b\u0e47\u0e19\u0e15\u0e49\u0e19<\/p>\n<p><a href=\"http:\/\/gruntjs.com\/\">Grunt<\/a> \u0e04\u0e37\u0e2d task runner \u0e40\u0e1b\u0e47\u0e19\u0e40\u0e04\u0e23\u0e37\u0e48\u0e2d\u0e07\u0e21\u0e37\u0e2d\u0e43\u0e19\u0e01\u0e32\u0e23\u0e17\u0e33 task \u0e0b\u0e36\u0e48\u0e07\u0e40\u0e23\u0e32\u0e2a\u0e32\u0e21\u0e32\u0e23\u0e16\u0e40\u0e1e\u0e34\u0e48\u0e21 task \u0e15\u0e48\u0e32\u0e07\u0e46 \u0e40\u0e02\u0e49\u0e32\u0e44\u0e1b\u0e43\u0e2b\u0e49\u0e44\u0e14\u0e49\u0e40\u0e0a\u0e48\u0e19 \u0e01\u0e32\u0e23 build \u0e17\u0e35\u0e48\u0e08\u0e30\u0e17\u0e33\u0e43\u0e2b\u0e49\u0e40\u0e01\u0e34\u0e14\u0e01\u0e32\u0e23 minify \u0e1e\u0e27\u0e01 CSS, JS \u0e2b\u0e23\u0e37\u0e2d\u0e01\u0e32\u0e23\u0e23\u0e31\u0e19 test \u0e15\u0e23\u0e27\u0e08\u0e2a\u0e2d\u0e1a\u0e04\u0e27\u0e32\u0e21\u0e16\u0e39\u0e01\u0e15\u0e49\u0e2d\u0e07\u0e02\u0e2d\u0e07 syntax \u0e02\u0e2d\u0e07 html, css, js \u0e40\u0e1b\u0e47\u0e19\u0e15\u0e49\u0e19<\/p>\n<p><strong>\u0e15\u0e34\u0e14\u0e15\u0e31\u0e49\u0e07 yeoman, bower, grunt<\/strong><\/p>\n<p>[shell]npm install yeoman, bower, grunt-cli, generator-webapp<\/p>\n<p>[\/shell]<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p><strong>\u0e01\u0e32\u0e23\u0e43\u0e0a\u0e49\u0e07\u0e32\u0e19\u0e43\u0e19\u0e01\u0e32\u0e23\u0e2a\u0e23\u0e49\u0e32\u0e07 Web Application<\/strong><\/p>\n<p>1. \u0e43\u0e0a\u0e49 yeoman \u0e40\u0e23\u0e35\u0e22\u0e01 webapp generator<\/p>\n<p>[shell]<br \/>\nmkdir mywebapp &amp;&amp; cd $_<br \/>\nyo<br \/>\n[\/shell]<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>\u0e08\u0e30\u0e40\u0e08\u0e2d\u0e2b\u0e19\u0e49\u0e32\u0e15\u0e32\u0e41\u0e1a\u0e1a\u0e19\u0e35\u0e49 \u0e41\u0e25\u0e30\u0e17\u0e33\u0e01\u0e32\u0e23\u0e40\u0e25\u0e37\u0e2d\u0e01\u0e17\u0e35\u0e48 Webapp<\/p>\n<p><a href=\"https:\/\/engineerball.com\/wp-content\/uploads\/2015\/06\/Image-3.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-2225 size-thumbnail\" src=\"https:\/\/engineerball.com\/wp-content\/uploads\/2015\/06\/Image-3-420x288.png\" alt=\"Image 3\" width=\"420\" height=\"288\" srcset=\"https:\/\/engineerball.com\/blog\/wp-content\/uploads\/2015\/06\/Image-3-420x288.png 420w, https:\/\/engineerball.com\/blog\/wp-content\/uploads\/2015\/06\/Image-3-744x511.png 744w, https:\/\/engineerball.com\/blog\/wp-content\/uploads\/2015\/06\/Image-3-510x350.png 510w, https:\/\/engineerball.com\/blog\/wp-content\/uploads\/2015\/06\/Image-3.png 804w\" sizes=\"(max-width: 420px) 100vw, 420px\" \/><\/a><\/p>\n<p>2. \u0e08\u0e30\u0e21\u0e35\u0e2b\u0e19\u0e49\u0e32\u0e15\u0e32\u0e43\u0e2b\u0e49\u0e40\u0e23\u0e32\u0e40\u0e25\u0e37\u0e2d\u0e01 framework \u0e17\u0e35\u0e48\u0e08\u0e30\u0e43\u0e0a\u0e49 \u0e1c\u0e21\u0e08\u0e30\u0e40\u0e25\u0e37\u0e2d\u0e01\u0e43\u0e0a\u0e49 Bootstrap \u0e41\u0e25\u0e49\u0e27\u0e01\u0e31\u0e19<\/p>\n<p><a href=\"https:\/\/engineerball.com\/wp-content\/uploads\/2015\/06\/Image-4.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-2226 size-thumbnail\" src=\"https:\/\/engineerball.com\/wp-content\/uploads\/2015\/06\/Image-4-420x291.png\" alt=\"Image 4\" width=\"420\" height=\"291\" srcset=\"https:\/\/engineerball.com\/blog\/wp-content\/uploads\/2015\/06\/Image-4-420x291.png 420w, https:\/\/engineerball.com\/blog\/wp-content\/uploads\/2015\/06\/Image-4-744x516.png 744w, https:\/\/engineerball.com\/blog\/wp-content\/uploads\/2015\/06\/Image-4-505x350.png 505w, https:\/\/engineerball.com\/blog\/wp-content\/uploads\/2015\/06\/Image-4.png 798w\" sizes=\"(max-width: 420px) 100vw, 420px\" \/><\/a><\/p>\n<p>3. \u0e2b\u0e25\u0e31\u0e07\u0e08\u0e32\u0e01\u0e19\u0e31\u0e49\u0e19 yo \u0e08\u0e30\u0e44\u0e1b\u0e23\u0e31\u0e19 bower install \u0e43\u0e2b\u0e49\u0e2d\u0e31\u0e15\u0e42\u0e19\u0e21\u0e31\u0e15\u0e34 \u0e40\u0e23\u0e32\u0e01\u0e47\u0e41\u0e04\u0e48\u0e23\u0e2d\u0e43\u0e2b\u0e49\u0e21\u0e31\u0e19\u0e40\u0e2a\u0e23\u0e47\u0e08\u0e04\u0e23\u0e31\u0e1a<\/p>\n<p><a href=\"https:\/\/engineerball.com\/wp-content\/uploads\/2015\/06\/Image-7.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-2227 size-thumbnail\" src=\"https:\/\/engineerball.com\/wp-content\/uploads\/2015\/06\/Image-7-420x288.png\" alt=\"Image 7\" width=\"420\" height=\"288\" srcset=\"https:\/\/engineerball.com\/blog\/wp-content\/uploads\/2015\/06\/Image-7-420x288.png 420w, https:\/\/engineerball.com\/blog\/wp-content\/uploads\/2015\/06\/Image-7-744x510.png 744w, https:\/\/engineerball.com\/blog\/wp-content\/uploads\/2015\/06\/Image-7-511x350.png 511w, https:\/\/engineerball.com\/blog\/wp-content\/uploads\/2015\/06\/Image-7.png 804w\" sizes=\"(max-width: 420px) 100vw, 420px\" \/><\/a><\/p>\n<p>4. \u0e16\u0e49\u0e32\u0e40\u0e2a\u0e23\u0e47\u0e08\u0e41\u0e25\u0e49\u0e27 folder \u0e40\u0e23\u0e32\u0e08\u0e30\u0e21\u0e35\u0e25\u0e31\u0e01\u0e29\u0e13\u0e30\u0e40\u0e0a\u0e48\u0e19\u0e19\u0e35\u0e49<\/p>\n<p><a href=\"https:\/\/engineerball.com\/wp-content\/uploads\/2015\/06\/Image-5.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-2229\" src=\"https:\/\/engineerball.com\/wp-content\/uploads\/2015\/06\/Image-5.png\" alt=\"Image 5\" width=\"531\" height=\"346\" srcset=\"https:\/\/engineerball.com\/blog\/wp-content\/uploads\/2015\/06\/Image-5.png 531w, https:\/\/engineerball.com\/blog\/wp-content\/uploads\/2015\/06\/Image-5-420x274.png 420w\" sizes=\"(max-width: 531px) 100vw, 531px\" \/><\/a><\/p>\n<p>5. \u0e25\u0e2d\u0e07\u0e23\u0e31\u0e19 \u0e15\u0e31\u0e27 nodejs \u0e01\u0e47\u0e08\u0e30\u0e40\u0e1b\u0e34\u0e14 web browser \u0e43\u0e2b\u0e21\u0e48\u0e02\u0e36\u0e49\u0e19\u0e21\u0e32\u0e43\u0e2b\u0e49\u0e04\u0e23\u0e31\u0e1a \u0e16\u0e49\u0e32\u0e40\u0e23\u0e32\u0e41\u0e01\u0e49\u0e44\u0e02\u0e2d\u0e30\u0e44\u0e23\u0e17\u0e35\u0e48\u0e15\u0e31\u0e27\u0e44\u0e1f\u0e25\u0e4c \u0e2b\u0e19\u0e49\u0e32\u0e19\u0e31\u0e49\u0e19\u0e01\u0e47\u0e08\u0e30\u0e42\u0e14\u0e19 refresh \u0e2d\u0e31\u0e15\u0e42\u0e19\u0e21\u0e31\u0e15\u0e34\u0e04\u0e23\u0e31\u0e1a<\/p>\n<p><a href=\"https:\/\/engineerball.com\/wp-content\/uploads\/2015\/06\/Image-8.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-2228\" src=\"https:\/\/engineerball.com\/wp-content\/uploads\/2015\/06\/Image-8-744x760.png\" alt=\"Image 8\" width=\"744\" height=\"760\" srcset=\"https:\/\/engineerball.com\/blog\/wp-content\/uploads\/2015\/06\/Image-8-744x760.png 744w, https:\/\/engineerball.com\/blog\/wp-content\/uploads\/2015\/06\/Image-8-420x429.png 420w, https:\/\/engineerball.com\/blog\/wp-content\/uploads\/2015\/06\/Image-8-343x350.png 343w, https:\/\/engineerball.com\/blog\/wp-content\/uploads\/2015\/06\/Image-8.png 801w\" sizes=\"(max-width: 744px) 100vw, 744px\" \/><\/a><\/p>\n<p>\u0e40\u0e2b\u0e47\u0e19\u0e44\u0e2b\u0e21\u0e2b\u0e25\u0e48\u0e30\u0e04\u0e23\u0e31\u0e1a \u0e07\u0e48\u0e32\u0e22\u0e19\u0e34\u0e14\u0e40\u0e14\u0e35\u0e22\u0e27\u0e40\u0e25\u0e22 \u0e2b\u0e25\u0e31\u0e07\u0e08\u0e32\u0e01\u0e19\u0e35\u0e49\u0e40\u0e23\u0e32\u0e01\u0e47\u0e41\u0e01\u0e49\u0e44\u0e02 JS, HTML5, CSS3 \u0e15\u0e32\u0e21\u0e2a\u0e44\u0e15\u0e25\u0e4c\u0e02\u0e2d\u0e07\u0e40\u0e23\u0e32\u0e44\u0e14\u0e49\u0e40\u0e25\u0e22 \u0e2a\u0e30\u0e14\u0e27\u0e01\u0e08\u0e23\u0e34\u0e07\u0e46 \u0e04\u0e23\u0e31\u0e1a<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u0e42\u0e25\u0e01\u0e02\u0e2d\u0e07 Web Frontend \u0e17\u0e38\u0e01\u0e27\u0e31\u0e19\u0e19\u0e35\u0e49\u0e21\u0e35\u0e40\u0e04\u0e23\u0e37\u0e48\u0e2d\u0e07\u0e44\u0e21\u0e49\u0e40\u0e04\u0e23\u0e37\u0e48\u0e2d\u0e07\u0e21\u0e37\u0e2d\u0e15\u0e48\u0e32\u0e07\u0e46 \u0e43\u0e2b\u0e49\u0e43\u0e0a\u0e49\u0e40\u0e22\u0e2d\u0e30\u0e21\u0e32\u0e01 \u0e15\u0e32\u0e21\u0e41\u0e17\u0e1a\u0e44\u0e21\u0e48\u0e17\u0e31\u0e19 \u0e27\u0e31\u0e19\u0e19\u0e35\u0e49\u0e08\u0e30\u0e21\u0e32\u0e41\u0e19\u0e30\u0e19\u0e33\u0e40\u0e04\u0e23\u0e37\u0e48\u0e2d\u0e07\u0e21\u0e37\u0e48\u0e2d\u0e17\u0e35\u0e48\u0e43\u0e19\u0e01\u0e32\u0e23\u0e43\u0e0a\u0e49\u0e2a\u0e23\u0e49\u0e32\u0e07\u0e42\u0e04\u0e23\u0e07\u0e02\u0e2d\u0e07 Web Application \u0e08\u0e32\u0e01\u0e04\u0e27\u0e32\u0e21\u0e2a\u0e32\u0e21\u0e32\u0e23\u0e16\u0e02\u0e2d\u0e07 Node.js \u0e01\u0e31\u0e19\u0e04\u0e23\u0e31\u0e1a Node.js \u0e1e\u0e39\u0e14\u0e07\u0e48\u0e32\u0e22\u0e46 \u0e01\u0e47\u0e04\u0e37\u0e2d\u0e01\u0e32\u0e23\u0e40\u0e02\u0e35\u0e22\u0e19\u0e42\u0e1b\u0e23\u0e41\u0e01\u0e23\u0e21\u0e14\u0e49\u0e27\u0e22&#8230;<\/p>\n<div class=\"more-link-wrapper\"><a class=\"more-link\" href=\"https:\/\/engineerball.com\/blog\/2015\/06\/12\/frontend-development-with-yeoman.html\">Read the post<span class=\"screen-reader-text\">\u0e25\u0e2d\u0e07\u0e1e\u0e31\u0e12\u0e19\u0e32 Web Frontend \u0e14\u0e49\u0e27\u0e22 Yeoman<\/span><\/a><\/div>\n","protected":false},"author":1,"featured_media":2223,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","enabled":false}}},"categories":[2,19,21,9,11],"tags":[335,333,313,332,336,367,118,337,334],"jetpack_publicize_connections":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v22.4 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>\u0e25\u0e2d\u0e07\u0e1e\u0e31\u0e12\u0e19\u0e32 Web Frontend \u0e14\u0e49\u0e27\u0e22 Yeoman - EngineerBALL<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/engineerball.com\/blog\/2015\/06\/12\/frontend-development-with-yeoman.html\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"\u0e25\u0e2d\u0e07\u0e1e\u0e31\u0e12\u0e19\u0e32 Web Frontend \u0e14\u0e49\u0e27\u0e22 Yeoman - EngineerBALL\" \/>\n<meta property=\"og:description\" content=\"\u0e42\u0e25\u0e01\u0e02\u0e2d\u0e07 Web Frontend \u0e17\u0e38\u0e01\u0e27\u0e31\u0e19\u0e19\u0e35\u0e49\u0e21\u0e35\u0e40\u0e04\u0e23\u0e37\u0e48\u0e2d\u0e07\u0e44\u0e21\u0e49\u0e40\u0e04\u0e23\u0e37\u0e48\u0e2d\u0e07\u0e21\u0e37\u0e2d\u0e15\u0e48\u0e32\u0e07\u0e46 \u0e43\u0e2b\u0e49\u0e43\u0e0a\u0e49\u0e40\u0e22\u0e2d\u0e30\u0e21\u0e32\u0e01 \u0e15\u0e32\u0e21\u0e41\u0e17\u0e1a\u0e44\u0e21\u0e48\u0e17\u0e31\u0e19 \u0e27\u0e31\u0e19\u0e19\u0e35\u0e49\u0e08\u0e30\u0e21\u0e32\u0e41\u0e19\u0e30\u0e19\u0e33\u0e40\u0e04\u0e23\u0e37\u0e48\u0e2d\u0e07\u0e21\u0e37\u0e48\u0e2d\u0e17\u0e35\u0e48\u0e43\u0e19\u0e01\u0e32\u0e23\u0e43\u0e0a\u0e49\u0e2a\u0e23\u0e49\u0e32\u0e07\u0e42\u0e04\u0e23\u0e07\u0e02\u0e2d\u0e07 Web Application \u0e08\u0e32\u0e01\u0e04\u0e27\u0e32\u0e21\u0e2a\u0e32\u0e21\u0e32\u0e23\u0e16\u0e02\u0e2d\u0e07 Node.js \u0e01\u0e31\u0e19\u0e04\u0e23\u0e31\u0e1a Node.js \u0e1e\u0e39\u0e14\u0e07\u0e48\u0e32\u0e22\u0e46 \u0e01\u0e47\u0e04\u0e37\u0e2d\u0e01\u0e32\u0e23\u0e40\u0e02\u0e35\u0e22\u0e19\u0e42\u0e1b\u0e23\u0e41\u0e01\u0e23\u0e21\u0e14\u0e49\u0e27\u0e22&#8230;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/engineerball.com\/blog\/2015\/06\/12\/frontend-development-with-yeoman.html\" \/>\n<meta property=\"og:site_name\" content=\"EngineerBALL\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/engineerball\" \/>\n<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/troueblemaker.khunpech?ref=tn_tnmn\" \/>\n<meta property=\"article:published_time\" content=\"2015-06-12T07:59:37+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/engineerball.com\/blog\/wp-content\/uploads\/2015\/06\/yeoman-logo.png\" \/>\n\t<meta property=\"og:image:width\" content=\"374\" \/>\n\t<meta property=\"og:image:height\" content=\"324\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"ball\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@engineerball\" \/>\n<meta name=\"twitter:site\" content=\"@engineerball\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"ball\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/engineerball.com\/blog\/2015\/06\/12\/frontend-development-with-yeoman.html\",\"url\":\"https:\/\/engineerball.com\/blog\/2015\/06\/12\/frontend-development-with-yeoman.html\",\"name\":\"\u0e25\u0e2d\u0e07\u0e1e\u0e31\u0e12\u0e19\u0e32 Web Frontend \u0e14\u0e49\u0e27\u0e22 Yeoman - EngineerBALL\",\"isPartOf\":{\"@id\":\"https:\/\/engineerball.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/engineerball.com\/blog\/2015\/06\/12\/frontend-development-with-yeoman.html#primaryimage\"},\"image\":{\"@id\":\"https:\/\/engineerball.com\/blog\/2015\/06\/12\/frontend-development-with-yeoman.html#primaryimage\"},\"thumbnailUrl\":\"https:\/\/engineerball.com\/blog\/wp-content\/uploads\/2015\/06\/yeoman-logo.png\",\"datePublished\":\"2015-06-12T07:59:37+00:00\",\"dateModified\":\"2015-06-12T07:59:37+00:00\",\"author\":{\"@id\":\"https:\/\/engineerball.com\/blog\/#\/schema\/person\/415320d0da2d392375528001aa6ea53e\"},\"breadcrumb\":{\"@id\":\"https:\/\/engineerball.com\/blog\/2015\/06\/12\/frontend-development-with-yeoman.html#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/engineerball.com\/blog\/2015\/06\/12\/frontend-development-with-yeoman.html\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/engineerball.com\/blog\/2015\/06\/12\/frontend-development-with-yeoman.html#primaryimage\",\"url\":\"https:\/\/engineerball.com\/blog\/wp-content\/uploads\/2015\/06\/yeoman-logo.png\",\"contentUrl\":\"https:\/\/engineerball.com\/blog\/wp-content\/uploads\/2015\/06\/yeoman-logo.png\",\"width\":374,\"height\":324},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/engineerball.com\/blog\/2015\/06\/12\/frontend-development-with-yeoman.html#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/engineerball.com\/blog\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"\u0e25\u0e2d\u0e07\u0e1e\u0e31\u0e12\u0e19\u0e32 Web Frontend \u0e14\u0e49\u0e27\u0e22 Yeoman\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/engineerball.com\/blog\/#website\",\"url\":\"https:\/\/engineerball.com\/blog\/\",\"name\":\"EngineerBALL\",\"description\":\"Damn Those Sweet Memories\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/engineerball.com\/blog\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/engineerball.com\/blog\/#\/schema\/person\/415320d0da2d392375528001aa6ea53e\",\"name\":\"ball\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/engineerball.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/d8d00c01f55942d7c8f2dbc70a9cefe0?s=96&d=monsterid&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/d8d00c01f55942d7c8f2dbc70a9cefe0?s=96&d=monsterid&r=g\",\"caption\":\"ball\"},\"description\":\"Teerapat Khunpech Live, Tech, Beers, Bike, Cafe Racer, Docker, Devops, Eco-System\",\"sameAs\":[\"https:\/\/engineerball.com\",\"https:\/\/www.facebook.com\/troueblemaker.khunpech?ref=tn_tnmn\",\"https:\/\/twitter.com\/engineerball\"],\"url\":\"https:\/\/engineerball.com\/blog\/author\/ball\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"\u0e25\u0e2d\u0e07\u0e1e\u0e31\u0e12\u0e19\u0e32 Web Frontend \u0e14\u0e49\u0e27\u0e22 Yeoman - EngineerBALL","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/engineerball.com\/blog\/2015\/06\/12\/frontend-development-with-yeoman.html","og_locale":"en_US","og_type":"article","og_title":"\u0e25\u0e2d\u0e07\u0e1e\u0e31\u0e12\u0e19\u0e32 Web Frontend \u0e14\u0e49\u0e27\u0e22 Yeoman - EngineerBALL","og_description":"\u0e42\u0e25\u0e01\u0e02\u0e2d\u0e07 Web Frontend \u0e17\u0e38\u0e01\u0e27\u0e31\u0e19\u0e19\u0e35\u0e49\u0e21\u0e35\u0e40\u0e04\u0e23\u0e37\u0e48\u0e2d\u0e07\u0e44\u0e21\u0e49\u0e40\u0e04\u0e23\u0e37\u0e48\u0e2d\u0e07\u0e21\u0e37\u0e2d\u0e15\u0e48\u0e32\u0e07\u0e46 \u0e43\u0e2b\u0e49\u0e43\u0e0a\u0e49\u0e40\u0e22\u0e2d\u0e30\u0e21\u0e32\u0e01 \u0e15\u0e32\u0e21\u0e41\u0e17\u0e1a\u0e44\u0e21\u0e48\u0e17\u0e31\u0e19 \u0e27\u0e31\u0e19\u0e19\u0e35\u0e49\u0e08\u0e30\u0e21\u0e32\u0e41\u0e19\u0e30\u0e19\u0e33\u0e40\u0e04\u0e23\u0e37\u0e48\u0e2d\u0e07\u0e21\u0e37\u0e48\u0e2d\u0e17\u0e35\u0e48\u0e43\u0e19\u0e01\u0e32\u0e23\u0e43\u0e0a\u0e49\u0e2a\u0e23\u0e49\u0e32\u0e07\u0e42\u0e04\u0e23\u0e07\u0e02\u0e2d\u0e07 Web Application \u0e08\u0e32\u0e01\u0e04\u0e27\u0e32\u0e21\u0e2a\u0e32\u0e21\u0e32\u0e23\u0e16\u0e02\u0e2d\u0e07 Node.js \u0e01\u0e31\u0e19\u0e04\u0e23\u0e31\u0e1a Node.js \u0e1e\u0e39\u0e14\u0e07\u0e48\u0e32\u0e22\u0e46 \u0e01\u0e47\u0e04\u0e37\u0e2d\u0e01\u0e32\u0e23\u0e40\u0e02\u0e35\u0e22\u0e19\u0e42\u0e1b\u0e23\u0e41\u0e01\u0e23\u0e21\u0e14\u0e49\u0e27\u0e22&#8230;","og_url":"https:\/\/engineerball.com\/blog\/2015\/06\/12\/frontend-development-with-yeoman.html","og_site_name":"EngineerBALL","article_publisher":"https:\/\/www.facebook.com\/engineerball","article_author":"https:\/\/www.facebook.com\/troueblemaker.khunpech?ref=tn_tnmn","article_published_time":"2015-06-12T07:59:37+00:00","og_image":[{"width":374,"height":324,"url":"https:\/\/engineerball.com\/blog\/wp-content\/uploads\/2015\/06\/yeoman-logo.png","type":"image\/png"}],"author":"ball","twitter_card":"summary_large_image","twitter_creator":"@engineerball","twitter_site":"@engineerball","twitter_misc":{"Written by":"ball","Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/engineerball.com\/blog\/2015\/06\/12\/frontend-development-with-yeoman.html","url":"https:\/\/engineerball.com\/blog\/2015\/06\/12\/frontend-development-with-yeoman.html","name":"\u0e25\u0e2d\u0e07\u0e1e\u0e31\u0e12\u0e19\u0e32 Web Frontend \u0e14\u0e49\u0e27\u0e22 Yeoman - EngineerBALL","isPartOf":{"@id":"https:\/\/engineerball.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/engineerball.com\/blog\/2015\/06\/12\/frontend-development-with-yeoman.html#primaryimage"},"image":{"@id":"https:\/\/engineerball.com\/blog\/2015\/06\/12\/frontend-development-with-yeoman.html#primaryimage"},"thumbnailUrl":"https:\/\/engineerball.com\/blog\/wp-content\/uploads\/2015\/06\/yeoman-logo.png","datePublished":"2015-06-12T07:59:37+00:00","dateModified":"2015-06-12T07:59:37+00:00","author":{"@id":"https:\/\/engineerball.com\/blog\/#\/schema\/person\/415320d0da2d392375528001aa6ea53e"},"breadcrumb":{"@id":"https:\/\/engineerball.com\/blog\/2015\/06\/12\/frontend-development-with-yeoman.html#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/engineerball.com\/blog\/2015\/06\/12\/frontend-development-with-yeoman.html"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/engineerball.com\/blog\/2015\/06\/12\/frontend-development-with-yeoman.html#primaryimage","url":"https:\/\/engineerball.com\/blog\/wp-content\/uploads\/2015\/06\/yeoman-logo.png","contentUrl":"https:\/\/engineerball.com\/blog\/wp-content\/uploads\/2015\/06\/yeoman-logo.png","width":374,"height":324},{"@type":"BreadcrumbList","@id":"https:\/\/engineerball.com\/blog\/2015\/06\/12\/frontend-development-with-yeoman.html#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/engineerball.com\/blog"},{"@type":"ListItem","position":2,"name":"\u0e25\u0e2d\u0e07\u0e1e\u0e31\u0e12\u0e19\u0e32 Web Frontend \u0e14\u0e49\u0e27\u0e22 Yeoman"}]},{"@type":"WebSite","@id":"https:\/\/engineerball.com\/blog\/#website","url":"https:\/\/engineerball.com\/blog\/","name":"EngineerBALL","description":"Damn Those Sweet Memories","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/engineerball.com\/blog\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/engineerball.com\/blog\/#\/schema\/person\/415320d0da2d392375528001aa6ea53e","name":"ball","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/engineerball.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/d8d00c01f55942d7c8f2dbc70a9cefe0?s=96&d=monsterid&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/d8d00c01f55942d7c8f2dbc70a9cefe0?s=96&d=monsterid&r=g","caption":"ball"},"description":"Teerapat Khunpech Live, Tech, Beers, Bike, Cafe Racer, Docker, Devops, Eco-System","sameAs":["https:\/\/engineerball.com","https:\/\/www.facebook.com\/troueblemaker.khunpech?ref=tn_tnmn","https:\/\/twitter.com\/engineerball"],"url":"https:\/\/engineerball.com\/blog\/author\/ball"}]}},"jetpack_featured_media_url":"https:\/\/engineerball.com\/blog\/wp-content\/uploads\/2015\/06\/yeoman-logo.png","jetpack_shortlink":"https:\/\/wp.me\/p3Nmbl-zN","jetpack_sharing_enabled":true,"jetpack_likes_enabled":true,"jetpack-related-posts":[],"_links":{"self":[{"href":"https:\/\/engineerball.com\/blog\/wp-json\/wp\/v2\/posts\/2219"}],"collection":[{"href":"https:\/\/engineerball.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/engineerball.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/engineerball.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/engineerball.com\/blog\/wp-json\/wp\/v2\/comments?post=2219"}],"version-history":[{"count":0,"href":"https:\/\/engineerball.com\/blog\/wp-json\/wp\/v2\/posts\/2219\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/engineerball.com\/blog\/wp-json\/wp\/v2\/media\/2223"}],"wp:attachment":[{"href":"https:\/\/engineerball.com\/blog\/wp-json\/wp\/v2\/media?parent=2219"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/engineerball.com\/blog\/wp-json\/wp\/v2\/categories?post=2219"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/engineerball.com\/blog\/wp-json\/wp\/v2\/tags?post=2219"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}