Learning Vue.js in Bangla Part-1:Introduction of Vue.js

Vue.js āĻ•āĻŋ?

Vue.js āĻšāĻšā§āϛ⧇ āφāϧ⧁āύāĻŋāĻ• āĻāĻŦāĻ‚ āĻĒā§āϰāĻ—āϤāĻŋāĻļā§€āϞ āχāωāϜāĻžāϰ āχāĻ¨ā§āϟāĻžāϰāĻĢ⧇āϏ āĻĄā§‡āϭ⧇āϞāĻĒāĻŽā§‡āĻ¨ā§āϟ āĻ•āϰāĻžāϰ āϜāĻ¨ā§āϝ āĻāĻ•āϟāĻž Open Source JavaScript Framework. āϝāĻž āϖ⧁āĻŦāχ āϛ⧋āϟ āĻāĻŦāĻ‚ āϞāĻžāχāϟāĻ“āϝāĻŧ⧇āϟāĨ¤ āĻ…āĻ¨ā§āϝāĻžāĻ¨ā§āϝ āϜāύāĻĒā§āϰāĻŋāϝāĻŧ āϜāĻžāĻ­āĻžāĻ¸ā§āĻ•ā§āϰāĻŋāĻĒā§āϟ āĻĢā§āϰāĻ¨ā§āϟāĻāĻ¨ā§āĻĄ āĻĢā§āϰ⧇āĻŽāĻ“āϝāĻŧāĻžāĻ°ā§āĻ• āϝ⧇āĻŽāύ AngularJS āĻāĻŦāĻ‚ React āĻāϰ āϤ⧁āϞāύāĻžāϝāĻŧ āĻāϟāĻŋ āϖ⧁āĻŦāχ āĻĢāĻžāĻ¸ā§āϟāĨ¤ āĻāϟāĻŋ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāĻž āϖ⧁āĻŦāχ āϏāĻŋāĻŽā§āĻĒāϞ āĻāĻŦāĻ‚ deploy āĻ•āϰāĻžāĻ“ āϏāĻšāϜāĨ¤

āĻāĻ•āϟāĻž āφāϧ⧁āύāĻŋāĻ• āĻāĻŦāĻ‚ āĻĒā§āϰāĻ—āϤāĻŋāĻļā§€āϞ āχāωāϜāĻžāϰ āχāĻ¨ā§āϟāĻžāϰāĻĢ⧇āϏ āĻĄā§‡āϭ⧇āϞāĻĒ āĻ•āϰāĻžāϰ āϜāĻ¨ā§āϝ āϝāĻž āĻĻāϰāĻ•āĻžāϰ āϤāĻžāϰ āϏāĻŦāχ Vue āĻĻā§āĻŦāĻžāϰāĻž āĻ•āϰāĻž āϏāĻŽā§āĻ­āĻŦāĨ¤ āĻ•ā§āϰāĻŽāĻŦāĻ°ā§āϧāĻŽāĻžāύ āĻ­āĻŦāĻŋāĻˇā§āϝāϤ⧇ āϏāĻŦāϧāϰāϪ⧇āϰ āϚāĻžāĻšāĻŋāĻĻāĻž āϝ⧇āύ āĻĒā§‚āϰāĻŖ āĻšāϝāĻŧ āϤāĻž āϏāĻžāĻŽāύ⧇ āϰ⧇āϖ⧇ āĻāϟāĻŋāϕ⧇ āĻĄāĻŋāϜāĻžāχāύ āĻ•āϰāĻž āĻšāϝāĻŧ⧇āϛ⧇ āĨ¤ āĻāϟāĻŋ āϝ⧇āĻŽāύ āĻāĻ•āϟāĻž āĻ“āϝāĻŧ⧇āĻŦ āĻĢā§āϰ⧇āĻŽāĻ“āϝāĻŧāĻžāĻ°ā§āĻ• āĻšāĻŋāϏ⧇āĻŦ⧇ āĻ•āĻžāϜ āĻ•āϰ⧇ , āĻāĻ•āχ āϏāĻžāĻĨ⧇ āĻāϟāĻŋ SPA (single page applications) āĻĄā§‡āϭ⧇āϞāĻĒāĻŽā§‡āĻ¨ā§āϟ āĻāϰ āϜāĻ¨ā§āϝāĻ“ āĻŦāĻšā§āϞ āĻŦā§āϝāĻŦāĻšā§ƒāϤāĨ¤ data binding āĻāĻŦāĻ‚ event binding setup āϏāĻš āĻāϟāĻŋ āĻĒā§āϰāϚ⧁āϰ āϏāĻ‚āĻ–ā§āϝāĻ• feature āĻĻā§āĻŦāĻžāϰāĻž āϏāĻŽā§ƒāĻĻā§āϧāĨ¤

Evan You āύāĻžāĻŽā§‡āϰ āĻāĻ• āϗ⧁āĻ—āϞ⧇āϰ āĻ•āĻ°ā§āĻŽā§€ āĻŦ⧇āĻļ āĻ•āϝāĻŧ⧇āĻ•āϟāĻŋ āĻĒā§āϰāĻ•āĻ˛ā§āĻĒ⧇ AngularJS āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧇ āϗ⧁āĻ—āϞ⧇āϰ āĻšāϝāĻŧ⧇ āĻ•āĻžāϜ āĻ•āϰāĻžāϰ āĻĒāϰ ⧍ā§Ļā§§ā§Š āϏāĻžāϞ⧇ āĻĒā§āϰāĻĨāĻŽ Vue.js āϤ⧈āϰāĻŋ āĻ•āϰ⧇āĻ›āĻŋāϞ⧇āύ āĻāĻŦāĻ‚ ⧍ā§Ļā§§ā§Ē āϏāĻžāϞ⧇ āĻāϟāĻŋ āĻĒā§āϰāĻĨāĻŽ āϰāĻŋāϞāĻŋāϜ āĻ•āϰ⧇āύāĨ¤

VueJS – Installation āĻāĻŦāĻ‚ Environment Setup

VueJS āχāύāĻ¸ā§āϟāϞ āĻ•āϰāĻžāϰ āϜāĻ¨ā§āϝ āĻ…āύ⧇āĻ•āϗ⧁āϞāĻŋ āωāĻĒāĻžāϝāĻŧ āϰāϝāĻŧ⧇āϛ⧇āĨ¤ āĻāĻ–āĻžāύ⧇ āφāĻŽāϰāĻž āĻ•āϝāĻŧ⧇āĻ•āϟāĻŋ āωāĻĒāĻžāϝāĻŧ āύāĻŋāϝāĻŧ⧇ āφāϞ⧋āϚāύāĻž āĻ•āϰāĻŦāĨ¤

HTML File āĻ āϏāϰāĻžāϏāϰāĻŋ <script> āĻŸā§āϝāĻžāĻ— āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧇

HTML File āĻ āϏāϰāĻžāϏāϰāĻŋ <script> āĻŸā§āϝāĻžāĻ— āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧇ install āĻ•āϰāϤ⧇ āϚāĻžāχāϞ⧇ āφāĻĒāύāĻžāϕ⧇ https://vuejs.org/v2/guide/installation āĻāχ āĻĒ⧇āϜ āĻĨ⧇āϕ⧇ vue.js āĻ…āĻĨāĻŦāĻž vue.min.js file āϟāĻŋ āĻĄāĻžāωāύāϞ⧋āĻĄ āĻ•āϰāϤ⧇ āĻšāĻŦ⧇āĨ¤ āĻāĻ–āĻžāύ⧇ vue.js āĻĢāĻžāχāϞ āϟāĻŋ āĻšāĻšā§āϛ⧇ āĻĄā§‡āϭ⧇āϞāĻĒāĻŽā§‡āĻ¨ā§āϟ āĻ­āĻžāĻ°ā§āϏāύ āφāϰ vue.min.js āĻĢāĻžāχāϞāϟāĻŋ āĻšāĻšā§āϛ⧇ āĻĒā§āϰ⧋āĻĄāĻžāĻ•āĻļāύ āĻ­āĻžāĻ°ā§āϏāύāĨ¤ āĻĻ⧁āχāϟāĻž āĻĢāĻžāχāϞ āĻāĻ•āχ āĻšāϞ⧇āĻ“ Production āĻ­āĻžāĻ°ā§āϏāύ āϟāĻŋ minimized āĻāĻŦāĻ‚ lightweight āĻ…āĻ¨ā§āϝāĻĻāĻŋāϕ⧇ āĻĄā§‡āϭ⧇āϞāĻĒāĻŽā§‡āĻ¨ā§āϟ āĻ­āĻžāĻ°ā§āϏāύ āĻāĻ•āϟ⧁ heavyweight āĻšāϞ⧇āĻ“ āφāĻĒāύāĻžāϕ⧇ āĻĄā§‡āϭ⧇āϞāĻĒāĻŽā§‡āĻ¨ā§āϟ āĻ•āĻžāϞ⧀āύ debug mode āĻāĻŦāĻ‚ warnings āϏ⧁āĻŦāĻŋāϧāĻž āϗ⧁āϞ⧋ āĻĻāĻŋāĻŦ⧇āĨ¤

āĻĄāĻžāωāύāϞ⧋āĻĄ āĻšāϝāĻŧ⧇ āϗ⧇āϞ⧇ āĻāĻ–āύ āĻĢāĻžāχāϞāϟāĻŋāϕ⧇ āφāĻĒāύāĻžāϰ āĻĒā§āϰāĻœā§‡āĻ•ā§āϟ āĻĢā§‹āĻ˛ā§āĻĄāĻžāϰ⧇āϰ āĻŽāĻ§ā§āϝ⧇ js āύāĻžāĻŽā§‡ āĻāĻ•āϟāĻž āĻĢā§‹āĻ˛ā§āĻĄāĻžāϰ⧇ āϰāĻžāϖ⧁āύ , āϤāĻžāϰāĻĒāϰ āϝ⧇āϕ⧋āύ⧋ html āĻĢāĻžāχāϞ āĻ āύāĻŋāĻšā§‡āϰ āϕ⧋āĻĄāϟāĻŋ āϏāĻ‚āϝ⧁āĻ•ā§āϤ āĻ•āϰ⧁āύ :

<html>
   <head>
      <title>VueJs Introduction</title>
      <script type = "text/javascript" src = "js/vue.js"></script>
   </head>
   <body>
      <div id = "intro" style = "text-align:center;">
         <h1>{{ message }}</h1>
      </div>
      <script type = "text/javascript">
         var result = new Vue({
            el: '#intro',
            data: {
               message: 'Hello VueJS!'
            }
         });
      </script>
   </body>
</html>

āĻāĻ–āύ āφāĻĒāύāĻŋ āύāĻŋāĻŽā§āύ⧋āĻ•ā§āϤ āϰ⧇āϜāĻžāĻ˛ā§āϟāϟāĻŋ āĻĒāĻžāĻŦ⧇āύ:

CDN āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧇ :

āϤāĻŦ⧇ āφāĻŽāϰāĻž āϚāĻžāχāϞ⧇ āϏāϰāĻžāϏāϰāĻŋ CDN (content delivery network) āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧇āĻ“ VueJS āύāĻŋāϝāĻŧ⧇ āĻ•āĻžāϜ āĻ•āϰāϤ⧇ āĻĒāĻžāϰāĻŋāĨ¤ āφāĻĒāύāĻŋ CDN āĻšā§‹āĻ¸ā§āĻŸā§‡āϰ āϜāĻ¨ā§āϝ (https://cdn.jsdelivr.net/npm/vue/dist/vue.js) āĻ…āĻĨāĻŦāĻž (https://cdnjs.cloudflare.com/ajax/libs/vue/2.4.0/vue.js). āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāϤ⧇ āĻĒāĻžāϰ⧇āύāĨ¤ CDN āĻĻāĻŋāϝāĻŧ⧇ āύāĻŋāĻšā§‡āϰ āωāĻĻāĻžāĻšāϰāĻŖāϟāĻŋ āĻĻ⧇āϖ⧁āύ:

<html>
   <head>
      <title>VueJs Introduction</title>
      <script type = "text/javascript" src = "https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
   </head>
   <body>
      <div id = "intro" style = "text-align:center;">
         <h1>{{ message }}</h1>
      </div>
      <script type = "text/javascript">
         var result = new Vue({
            el: '#intro',
            data: {
               message: 'Hello I\'m VueJS! FROM CDN'
            }
         });
      </script>
   </body>
</html>

āĻāĻ–āύ āφāĻĒāύāĻŋ āύāĻŋāĻŽā§āύ⧋āĻ•ā§āϤ āϰ⧇āϜāĻžāĻ˛ā§āϟāϟāĻŋ āĻĒāĻžāĻŦ⧇āύ:

NPM āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧇

Vue āĻĻāĻŋāϝāĻŧ⧇ large scale āĻāĻŦāĻ‚ realtime applications āϤ⧈āϰāĻŋ āĻ•āϰāĻžāϰ āϜāĻ¨ā§āϝ VueJS NPM (NodeJS Package Manager) āĻŦā§āϝāĻŦāĻšāĻžāϰ⧇āϰ āĻĒāϰāĻžāĻŽāĻ°ā§āĻļ āĻĻ⧇āϝāĻŧāĨ¤ āĻāϟāĻŋāϤ⧇ Browserify āĻāĻŦāĻ‚ Webpack āϏāĻš āĻ…āĻ¨ā§āϝāĻžāĻ¨ā§āϝ āĻĒā§āϰāϝāĻŧā§‹āϜāύ⧀āϝāĻŧ tools āϗ⧁āϞ⧋ included āĻĨāĻžāϕ⧇āĨ¤ āϤāĻžāϤ⧇ āφāĻĒāύāĻŋ āφāϰ⧋ āĻ…āύ⧇āĻ• āĻŦāĻžāĻĄāĻŧāϤāĻŋ āϏ⧁āĻŦāĻŋāϧāĻž āĻ­ā§‹āĻ— āĻ•āϰāϤ⧇ āĻĒāĻžāϰāĻŦ⧇āύāĨ¤ NPM āĻĻāĻŋāϝāĻŧ⧇ installation āĻāϰ āϜāĻ¨ā§āϝ āφāĻĒāύāĻžāϕ⧇ āφāĻĒāύāĻžāϰ Vue Project āĻĢā§‹āĻ˛ā§āĻĄāĻžāϰ⧇āϰ āĻŽāĻ§ā§āϝ⧇ Terminal āĻ āύāĻŋāĻŽā§āύ⧋āĻ•ā§āϤ āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāϤ⧇ āĻšāĻŦ⧇āĨ¤

npm  install vue

NPM Vue āϤ⧇ āĻ•āĻžāϜ āĻ•āϰāĻž CDN āĻāϰ āĻŽāϤ⧋āχ , āĻāĻ–āĻžāύ⧇ āĻļ⧁āϧ⧁ āφāĻĒāύāĻžāϕ⧇ file source āĻĒāϰāĻŋāĻŦāĻ°ā§āϤāύ āĻ•āϰ⧇ āĻĻāĻŋāϤ⧇ āĻšāĻŦ⧇āĨ¤ āύāĻŋāĻšā§‡āϰ āωāĻĻāĻžāĻšāϰāĻŖāϟāĻŋ āĻĻ⧇āϖ⧁āύ:

<html>
   <head>
      <title>VueJs Introduction</title>
      <script type = "text/javascript" src = "node_modules/vue/dist/vue.js"></script>
   </head>
   <body>
      <div id = "intro" style = "text-align:center;">
         <h1>{{ message }}</h1>
      </div>
      <script type = "text/javascript">
         var result = new Vue({
            el: '#intro',
            data: {
               message: 'Hello I\'m VueJS! FROM NPM'
            }
         });
      </script>
   </body>
</html>

CLI (Command Line Interface) āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧇

VueJS āĻ Server Environment āĻ āĻ•āĻžāϜ āĻ•āϰāĻžāϰ āϜāĻ¨ā§āϝ CLI āϏ⧁āĻŦāĻŋāϧāĻž āĻĒā§āϰāϧāĻžāύ āĻ•āϰ⧇āĨ¤ āĻāĻ›āĻžāĻĄāĻŧāĻžāĻ“ VueJS CLI āĻĻāĻŋāϝāĻŧ⧇ VueJS Server āχāύāĻ¸ā§āϟāϞ āĻ•āϰāϞ⧇ , āφāĻĒāύāĻžāϕ⧇ āϕ⧋āύ⧋ setup āĻ…āĻĨāĻŦāĻž configur āύāĻŋāϝāĻŧ⧇ āĻ­āĻžāĻŦāϤ⧇ āĻšāĻŦ⧇āύāĻžāĨ¤ Modern Front-end Development āĻāϰ āϜāĻ¨ā§āϝ āφāĻĒāύāĻžāϰ āϝāĻž āϝāĻž āĻĻāϰāĻ•āĻžāϰ āϏāĻŦāχ āĻĒā§āϰāĻŋ-āϞ⧋āĻĄā§‡āĻĄ āĻĨāĻžāϕ⧇ ,āφāϛ⧇ real-time, rapid development āĻāĻŦāĻ‚ Single File Application Development āĻāϰ āϏ⧁āĻŦāĻŋāϧāĻžāĨ¤ āĻāĻ›āĻžāĻĄāĻŧāĻž Vue CLI āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāϞ⧇ āφāĻĒāύāĻŋ āύāĻŋāĻŽā§āύ⧋āĻ•ā§āϤ āϏ⧁āĻŦāĻŋāϧāĻž āϗ⧁āϞ⧋ āĻĒāĻžāĻŦ⧇āύ :

  • āĻāϟāĻŋ āφāĻŽāĻžāĻĻ⧇āϰāϕ⧇ āφāĻŽāĻžāĻĻ⧇āϰ HTML, CSS āĻāĻŦāĻ‚ JavaScript āϕ⧇ āφāĻŽāĻžāĻĻ⧇āϰ āχāĻšā§āĻ›āĻžāĻŽāϤ⧋ āϞāĻŋāĻ–āϤ⧇ āĻĻ⧇āϝāĻŧāĨ¤ āĻāĻ›āĻžāĻĄāĻŧāĻžāĻ“ āĻāϟāĻŋ āφāĻŽāĻžāĻĻ⧇āϰāϕ⧇ āφāĻŽāĻžāĻĻ⧇āϰ components āϗ⧁āϞ⧋ , TypeScript, SCSS, Pug, latest versions of ECMAScript āĻāϰ latest versions āϕ⧇ āĻāĻ•āϟāĻž āĻāĻ•āĻ• āĻĢāĻžāχāϞ (.vue) āĻ āϞāĻŋāĻ–āϤ⧇ āĻĻ⧇āϝāĻŧāĨ¤
  • Babel, TypeScript, ESLint, PostCSS, PWA, Unit Testing āĻāĻŦāĻ‚ End-to-end Testing āĻāϰ āĻ…āϏāĻžāϧāĻžāϰāĻŖ āϏ⧁āĻŦāĻŋāϧāĻžāĨ¤
  • āĻāĻ–āĻžāύ⧇ āĻĒāĻžāĻŦ⧇āύ āĻĄāĻŋāĻĢāĻ˛ā§āϟ Plugin āϏāĻŋāĻ¸ā§āĻŸā§‡āĻŽ āϝāĻžāϤ⧇ āϏāĻšāĻœā§‡āχ āφāĻĒāύāĻžāϰ Project āĻ common feature āϗ⧁āϞ⧋ āϝ⧁āĻ•ā§āϤ āĻ•āϰāϤ⧇ āĻĒāĻžāϰāĻŦ⧇āύāĨ¤
  • command line tool āĻāϰ āĻ…āĻ˛ā§āϟāĻžāϰāύ⧇āϟāĻŋāĻ­ āĻšāĻŋāϏ⧇āĻŦ⧇ āĻĒāĻžāĻŦ⧇āύ āĻāĻ•āϟāĻž Vue UI āύāĻžāĻŽā§‡ āĻāĻ•āϟāĻž graphical user interface
  • āĻāϟāĻŋ āφāĻŽāĻžāĻĻ⧇āϰ āϜāĻ¨ā§āϝ Webpack āĻ•āύāĻĢāĻŋāĻ—āĻžāϰ āĻ•āϰ⧇ āϰāĻžāϖ⧇ , āϝāĻ–āύ āφāĻŽāϰāĻž Webpack āĻĻāĻŋāϝāĻŧ⧇ āφāĻŽāĻžāĻĻ⧇āϰ āϕ⧋āύ⧋ āĻ…ā§āϝāĻžāĻĒā§āϞāĻŋāϕ⧇āĻļāύ āϤ⧈āϰāĻŋ āĻ•āϰāĻŋ āϤāĻ–āύ āĻāϟāĻŋ āφāĻŽāĻžāĻĻ⧇āϰ āϜāĻ¨ā§āϝ āϏāĻŽāĻ¸ā§āϤ āϜāĻžāĻ­āĻžāĻ¸ā§āĻ•ā§āϰāĻŋāĻĒā§āϟ āĻĢāĻžāχāϞ, āφāĻŽāĻžāĻĻ⧇āϰ āϏāĻŋāĻāϏāĻāϏ āĻāĻŦāĻ‚ āφāĻŽāĻžāĻĻ⧇āϰ dependencies āϗ⧁āϞ⧋āϕ⧇ āϏāĻ āĻŋāĻ•āĻ­āĻžāĻŦ⧇ āĻāĻ•āϏāĻžāĻĨ⧇ āĻŦāĻžāĻ¨ā§āĻĄā§‡āϞ āĻ•āϰ⧇ , minified āĻāĻŦāĻ‚ optimized āĻ•āϰ⧇āĨ¤

Vue CLI 3 Installation

Vue CLI 3 āĻāĻ•āϟāĻž NPM package āĻšāĻŋāϏ⧇āĻŦ⧇ āĻāϏ⧇āϛ⧇āĨ¤ āĻĒā§āϰāĻĨāĻŽā§‡ āφāĻĒāύāĻžāϕ⧇ āύāĻŋāĻļā§āϚāĻŋāϤ āĻšāϤ⧇ āĻšāĻŦ⧇ āφāĻĒāύāĻžāϰ āĻĒāĻŋāϏāĻŋāϤ⧇ Node.js āĻāĻŦāĻ‚ NPM (NodeJS Package Manager) āφāϛ⧇ āĻ•āĻŋāύāĻž? Vue CLI 3 āύāĻŋāϝāĻŧ⧇ āĻ•āĻžāϜ āĻ•āϰāϤ⧇ āĻšāϞ⧇, āφāĻĒāύāĻžāϰ āĻĒāĻŋāϏāĻŋāϤ⧇ āϏāĻ°ā§āĻŦāύāĻŋāĻŽā§āύ Node.js version 8.9 āĻ…āĻĨāĻŦāĻž āϤāĻžāϰāĻšā§‡āϝāĻŧ⧇ āϞ⧇āĻŸā§‡āĻ¸ā§āϟ āϕ⧋āύ⧋ āĻ­āĻžāĻ°ā§āϏāύ āϞāĻžāĻ—āĻŦ⧇āĨ¤ āφāĻĒāύāĻžāϰ āĻĒāĻŋāϏāĻŋāϤ⧇ āϝāĻĻāĻŋ āφāϗ⧇ āĻĨ⧇āϕ⧇āχ Node.js āχāύāĻ¸ā§āϟāϞ āĻĨāĻžāϕ⧇ , āϤāĻžāĻšāϞ⧇ āύāĻŋāĻŽā§āύ⧋āĻ•ā§āϤ command āĻĻāĻŋāϝāĻŧ⧇ āφāĻĒāύāĻŋ Node.js āĻāϰ Version check āĻ•āϰāϤ⧇ āĻĒāĻžāϰ⧇āύ :

node -v

āωāĻĒāϰ⧇āϰ command āϟāĻŋ āĻĻāĻŋāϝāĻŧ⧇ āĻšā§‡āĻ• āĻ•āϰāĻžāϰ āĻĒāϰ , āφāĻĒāύāĻžāϰ āϝāĻĻāĻŋ āĻŽāύ⧇ āĻšāϝāĻŧ , āφāĻĒāύāĻžāϕ⧇ āύāϤ⧁āύ āĻ•āϰ⧇ āχāύāĻ¸ā§āϟāϞ āĻ…āĻĨāĻŦāĻž āφāĻĒāĻĄā§‡āϟ āĻ•āϰāϤ⧇ āĻšāĻŦ⧇ , āϤāĻžāĻšāϞ⧇ āφāĻĒāύāĻžāϕ⧇ Node.js āĻ āϝ⧇āϤ⧇ āĻšāĻŦ⧇ āĻāĻŦāĻ‚ āφāĻĒāύāĻžāϰ OS āĻāϰ āωāĻĒāϝ⧋āĻ—ā§€ āĻ­āĻžāĻ°ā§āϏāύ Installer āĻĄāĻžāωāύāϞ⧋āĻĄ āĻ•āϰāϤ⧇ āĻšāĻŦ⧇āĨ¤ āφāϰ āύāϤ⧁āύ āĻ­āĻžāĻ°ā§āϏāύ āχāύāĻ¸ā§āϟāϞ āĻ•āϰāĻžāĻ•āĻžāϞ⧀āύ Node.js Package Manager (NPM) āϟāĻŋ āĻ…āĻŸā§‹āĻŽā§‡āϟāĻŋāĻ•ā§āϝāĻžāϞāĻŋ āχāύāĻ¸ā§āϟāϞ āĻšāϝāĻŧ⧇ āϜāĻžāĻ—āĻžāĻŦ⧇

āφāϰ⧇āĻ•āϟāĻž āĻŦāĻŋāώāϝāĻŧ, āφāϰ āϏ⧇āϟāĻž āĻšāĻšā§āϛ⧇ Vue CLI āĻ­āĻžāĻ°ā§āϏāύ 3 āϕ⧇ āϏāĻŽā§āĻĒā§‚āĻ°ā§āĻŖ āύāϤ⧁āύ āĻ•āϰ⧇ āϞāĻŋāĻ–āĻž āĻšāϝāĻŧ⧇āϛ⧇āĨ¤ Vue CLI āĻāϰ āφāϗ⧇āϰ āĻ­āĻžāĻ°ā§āϏāύ āĻāϰ āύāĻžāĻŽ āĻĒāϰāĻŋāĻŦāĻ°ā§āϤāύ āĻšāϝāĻŧ⧇ āĻŦāĻ°ā§āϤāĻŽāĻžāύ⧇ āĻāϟāĻŋ @vue/cli āύāĻžāĻŽā§‡ āύāĻžāĻŽ āĻ•āϰāύ āĻ•āϰāĻž āĻšāϝāĻŧ⧇āϛ⧇āĨ¤

āφāϰ āϤāĻžāχ āϏāĻŦāĻšā§‡āϝāĻŧ⧇ āĻ­āĻžāϞ⧋ āĻšāϝāĻŧ , āĻĒā§āϰāĻĨāĻŽā§‡ āφāĻĒāύāĻŋ āφāĻĒāύāĻžāϰ āĻĒāĻŋāϏāĻŋāϤ⧇ āĻ…āĻŦāĻ¸ā§āĻĨāĻŋāϤ Node.js Package vue-cli āĻ­āĻžāĻ°ā§āϏāύ āϕ⧇ āύāĻŋāĻŽā§āύ⧋āĻ•ā§āϤ āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āĻĻāĻŋāϝāĻŧ⧇ uninstall āĻ•āϰ⧇ āĻĻāĻŋāύāĨ¤

npm uninstall vue-cli -g

Uninstall āĻ•āĻŽāĻĒā§āϞāĻŋāϟ āĻšāϝāĻŧ⧇ āϗ⧇āϞ⧇ , āĻāĻŦāĻžāϰ āφāĻĒāύāĻŋ āύāĻŋāĻŽā§āύ⧋āĻ•ā§āϤ āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āĻĻāĻŋāϝāĻŧ⧇ Node.js Vue CLI āϕ⧇ āχāύāĻ¸ā§āϟāϞ āĻ•āϰ⧇ āύāĻŋāύ :

npm install -g @vue/cli

āϏāĻ āĻŋāĻ• āĻ­āĻžāĻŦ⧇ āχāύāĻ¸ā§āϟāϞ⧇āĻļāύ āĻ•āĻŽāĻĒā§āϞāĻŋāϟ āĻšāϝāĻŧ⧇ āϗ⧇āϞ⧇, āĻāĻŦāĻžāϰ āφāĻĒāύāĻŋ āύāĻŋāĻŽā§āύ⧋āĻ•ā§āϤ āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āĻĻāĻŋāϝāĻŧ⧇ āφāĻĒāύāĻžāϰ Vue āĻāϰ āĻ­āĻžāĻ°ā§āϏāύ āĻšā§‡āĻ• āĻ•āϰāϤ⧇ āĻĒāĻžāϰ⧇āύ :

vue -version

Vue āϤ⧇ Project āϤ⧈āϰāĻŋ

Vue CLI 3 āϤ⧇ āĻĻ⧁āϟāĻŋ āωāĻĒāĻžāϝāĻŧ⧇ āύāϤ⧁āύ āĻĒā§āϰāĻœā§‡āĻ•ā§āϟ āϤ⧈āϰāĻŋ āĻ•āϰāĻž āϝāĻžāϝāĻŧāĨ¤ āĻāĻ•āϟāĻŋ āĻšāĻšā§āϛ⧇ āĻ•āĻŽāĻžāĻ¨ā§āĻĄāϞāĻžāχāύ⧇ vue create āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āĻāϰ āĻŽāĻžāĻ§ā§āϝāĻŽā§‡ , āφāϰ āĻ…āĻ¨ā§āϝāϟāĻŋ āĻšāĻšā§āϛ⧇ VU UI āĻāϰ āĻŽāĻžāĻ§ā§āϝāĻŽā§‡āĨ¤ āĻĒā§āϰāĻĨāĻŽā§‡ āφāĻŽāϰāĻž āĻ•āĻŽāĻžāĻ¨ā§āĻĄāϞāĻžāχāύ⧇ installation āϟāĻŋ āĻĻ⧇āĻ–āĻŦ:

Command Line āĻ Installation

Vue āϤ⧇ āύāϤ⧁āύ Project āϤ⧈āϰ⧀ āĻ•āϰāϤ⧇ āĻšāϞ⧇ āφāĻĒāύāĻžāϕ⧇ vue create your_project_name āĻāχ āĻ•āĻŽāĻžāĻ¨ā§āĻĄāϟāĻŋ āĻĻāĻŋāϤ⧇ āĻšāĻŦ⧇āĨ¤ āĻ āĻŋāĻ• āύāĻŋāĻšā§‡āϰ āĻŽāϤ⧋:

vue create my-vue-app-01

āĻāχ āĻ•āĻŽāĻžāĻ¨ā§āĻĄāϟāĻŋ āϰāĻžāύ āĻ•āϰāĻžāϰ āĻĒāϰ āφāĻĒāύāĻžāϕ⧇ default (babel,eslint) preset āĻ…āĻĨāĻŦāĻž Manually select features āĻāχ āĻĻ⧁āϟāĻŋāϰ āϝ⧇āϕ⧋āύ⧋ āĻāĻ•āϟāĻŋ āĻŦ⧇āϛ⧇ āύ⧇āĻ“āϝāĻŧāĻžāϰ āĻ…āύ⧁āϰ⧋āϧ āϜāĻžāύāĻžāύ⧋ āĻšāĻŦ⧇āĨ¤

āφāĻŽāϰāĻž āĻāĻ–āĻžāύ⧇ Manually select features āĻāχ āĻ…āĻĒāĻļāύāϟāĻŋ āϏāĻŋāϞ⧇āĻ•ā§āϟ āĻ•āϰāĻŦ , āϤāĻ–āύ Vue āφāĻŽāĻžāĻĻ⧇āϰāϕ⧇ āϏāĻŦāϗ⧁āϞ⧋ feature āĻĒā§āϰāĻĻāĻ°ā§āĻļāύ āĻ•āϰāĻŦ⧇āĨ¤

āĻāĻ–āĻžāύ⧇ āφāĻĒāύāĻŋ feature āϗ⧁āϞ⧋āϕ⧇ navigate āĻ•āϰāĻžāϰ āϜāĻ¨ā§āϝ āφāĻĒāύāĻžāϰ āĻ•āĻŋāĻŦā§‹āĻ°ā§āĻĄā§‡āϰ up āĻāĻŦāĻ‚ down arrow key āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāϤ⧇ āĻĒāĻžāϰ⧇āύāĨ¤ āφāϰ āϏāĻŋāϞ⧇āĻ•ā§āϟ āĻ•āϰāĻžāϰ āϜāύ āĻ¸ā§āĻĒ⧇āϏāĻŦāĻžāϰ āϕ⧇ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāϤ⧇ āĻĒāĻžāϰ⧇āύāĨ¤ āϝ⧇āĻŽāύ āφāĻŽāϰāĻž āĻāĻ–āĻžāύ⧇ āĻĄāĻŋāĻĢāĻ˛ā§āϟ āĻĢā§€āϚāĻžāϰ Babel āĻāĻŦāĻ‚ Linter/Formater āĻāϰ āĻĒāĻžāĻļāĻžāĻĒāĻžāĻļāĻŋ Router Feature āϟāĻŋ āϏāĻŋāϞ⧇āĻ•ā§āϟ āĻ•āϰāĻŦāĨ¤

āĻāĻ–āύ āφāĻĒāύāĻžāϕ⧇ āϜāĻŋāĻœā§āĻžā§‡āϏ āĻ•āϰāĻž āĻšāĻŦ⧇ āφāĻĒāύāĻžāϰ Router āϟāĻŋāϰ History Mode āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāĻž āĻšāĻŦ⧇ āĻ•āĻŋāύāĻžāĨ¤ āĻāĻ–āĻžāύ⧇ āφāĻŽāϰāĻž NO āϏāĻŋāϞ⧇āĻ•ā§āϟ āĻ•āϰāĻŦāĨ¤

Select āĻ•āϰāĻžāϰ āĻĒāϰ āφāĻŽāϰāĻž āϝāĻ–āύ āφāĻŦāĻžāϰ āĻšāĻŋāϟ āĻ•āϰāĻŦ , āϤāĻ–āύ āϏ⧇ āφāĻŽāĻžāĻĻ⧇āϰ āϕ⧇ āφāĻŽāĻžāĻĻ⧇āϰ āϏāĻŋāϞ⧇āĻ•ā§āϟ āĻ•āϰāĻž Linter / Formatter āĻāϰ Configure āϞāĻŋāĻ¸ā§āϟ āĻĒā§āϰāĻĻāĻ°ā§āĻļāύ āĻ•āϰāĻŦ⧇āĨ¤

āϝāĻžāχāĻšā§‹āĻ• āφāĻŽāϰāĻž āĻāĻ–āĻžāύ⧇ ESLint + Prettier option āϟāĻŋ āϏāĻŋāϞ⧇āĻ•ā§āϟ āĻ•āϰāĻŦāĨ¤

  • ESLint āĻšāĻšā§āϛ⧇ ECMAScript/JavaScript āϕ⧋āĻĄāϕ⧇ āύāĻŋāϖ⧁āρāϤ āĻāĻŦāĻ‚ āĻāĻŦāĻ‚ āĻŦāĻžāĻ— āϗ⧁āϞ⧋āϕ⧇ āĻāĻĄāĻŧāĻžāύ⧋āϰ āϜāĻ¨ā§āϝ āĻāĻŦāĻ‚ āϤāĻž āφāχāĻĄā§‡āĻ¨ā§āϟāĻŋāĻĢāĻžāχ āĻāĻŦāĻ‚ āϰāĻŋāĻĒā§‹āĻ°ā§āϟāĻŋāĻ‚ āĻāϰ āĻāĻ•āϟāĻŋ tool.
  • āφāϰ Prettier āĻšāĻšā§āϛ⧇ āĻŽāϤāĻžāĻŽāϤ āϝ⧁āĻ•ā§āϤ āϕ⧋āĻĄ formatter. āĻāϟāĻŋ āφāĻĒāύāĻžāϰ āϕ⧋āĻĄāϕ⧇ āĻŦāĻŋāĻļā§āϞ⧇āώāĻŖ āĻ•āϰ⧇ āĻāĻŦāĻ‚ āĻāϟāĻŋ āύāĻŋāϜāĻ¸ā§āĻŦ āύāĻŋāϝāĻŧāĻŽ āĻĻāĻŋāϝāĻŧ⧇ āĻĒ⧁āύāϰāĻžāϝāĻŧ āϞāĻŋāĻ–āĻžāϰ āĻŽāĻžāĻ§ā§āϝāĻŽā§‡ āϕ⧋āĻĄā§‡ āĻāĻ•āϟāĻŋ āϏāĻžāĻŽāĻžā§āϜāĻ¸ā§āϝāĻĒā§‚āĻ°ā§āĻŖ āĻļ⧈āϞ⧀āϰ āĻĒā§āϰāϝāĻŧā§‹āĻ— āĻ•āϰ⧇ āĻāĻŦāĻ‚ āĻĒā§āϰāϝāĻŧā§‹āϜāύ āĻšāϞ⧇ āϞāĻžāχāύ⧇āϰ āϏāĻ°ā§āĻŦā§‹āĻšā§āϚ length āϕ⧇ āύ⧇āϝāĻŧ , āϕ⧋āĻĄāϕ⧇ wrapping āĻ•āϰ⧇āĨ¤

āĻāĻ–āύ āφāĻŽāϰāĻž āϏāĻŋāĻĻā§āϧāĻžāĻ¨ā§āϤ āύāĻŋāĻŦā§‹ linting āĻ•āĻŋ save āĻ…āĻĨāĻŦāĻž commit āĻāϰ āĻŽāĻžāĻ§ā§āϝāĻŽā§‡ āĻļ⧇āώ āĻšāĻŦ⧇ āĻ•āĻŋāύāĻžāĨ¤

āφāĻŽāϰāĻž āĻāĻ–āĻžāύ⧇ Lint On Save āϏāĻŋāϞ⧇āĻ•ā§āϟ āĻ•āϰ⧇āĻ›āĻŋ , āĻāĻ–āύ āφāĻĒāύāĻŋ āφāϰ⧋ āĻĻ⧁āϟāĻŋ āĻ…āĻĒāϏāύ āĻĒāĻžāĻŦ⧇āύ , āĻāĻ•āϟāĻŋ āĻšāĻšā§āϛ⧇ In dedicated config file āφāϰ āĻ…āĻ¨ā§āϝāϟāĻŋ āĻšāĻšā§āϛ⧇ In package.json . āĻāĻ–āύ āφāĻŽāϰāĻž In dedicated config file āĻāχ āĻ…āĻĒāϏāύ āϟāĻŋ āϏāĻŋāϞ⧇āĻ•ā§āϟ āĻ•āϰāĻŦāĨ¤

āϏāĻ°ā§āĻŦāĻļ⧇āώ , āφāĻĒāύāĻŋ settings āϟāĻŋ preset āĻšāĻŋāϏ⧇āĻŦ⧇ āϏ⧇āĻ­ āĻāϰ āĻ…āĻĒāϏāύ āĻĒāĻžāĻŦ⧇āύāĨ¤

āφāĻŽāϰāĻž āĻāĻ–āĻžāύ⧇ N (no preset will be saved) āĻāϟāĻŋ āϏāĻŋāϞ⧇āĻ•ā§āϟ āĻ•āϰ⧇āĻ›āĻŋ , āĻāĻ–āύ āφāĻŽāϰāĻž āĻĒāϰāĻŦāĻ°ā§āϤ⧀ question āĻĒāĻžāĻŦā§‹, āϝ⧇āĻ–āĻžāύ⧇ āφāĻĒāύāĻžāϕ⧇ package manager āĻšāĻŋāϏ⧇āĻŦ⧇ Yarn āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāĻŦ⧇āύ āύāĻžāĻ•āĻŋ NPM āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāĻŦ⧇āύ , āϏ⧇āχ āĻŦāĻŋāώāϝāĻŧ⧇ āĻĒā§āϰāĻļā§āύ āĻ•āϰāĻž āĻšāĻŦ⧇āĨ¤

āϤāĻžāϰāĻĒāϰ Package Manager āĻšāĻŋāϏ⧇āĻŦ⧇ NPM āϕ⧇ āϏāĻŋāϞ⧇āĻ•ā§āϟ āĻ•āϰāĻžāϰ āĻĒāϰ, āφāĻĒāύāĻžāϰ āύāϤ⧁āύ project āϤ⧈āϰāĻŋ āĻšāϝāĻŧ⧇ āϝāĻžāĻŦ⧇ āϏāĻžāĻĨ⧇ āĻĒā§āϰāϝāĻŧā§‹āϜāύ⧀āϝāĻŧ dependencies āĻĄāĻžāωāύāϞ⧋āĻĄ āĻāĻŦāĻ‚ āχāύāĻ¸ā§āϟāϞ āĻšāϝāĻŧ⧇ āϝāĻžāĻŦ⧇āĨ¤

finally āφāĻĒāύāĻŋ āĻ•āĻŽāĻžāĻ¨ā§āĻĄāϞāĻžāχāύ⧇ āĻāĻ•āϟāĻž success message āĻĻ⧇āĻ–āϤ⧇ āĻĒāĻžāĻŦ⧇āύ āĻāĻŦāĻ‚ āφāĻĒāύāĻžāϰ āύāϤ⧁āύ āĻĒā§āϰāĻœā§‡āĻ•ā§āϟ āϤ⧈āϰāĻŋ āĻšāϝāĻŧ⧇ āϝāĻžāĻŦ⧇āĨ¤

āĻāϤāĻ•ā§āώāύ⧇ āφāĻĒāύāĻžāϰ āύāϤ⧁āύ project āϤ⧈āϰāĻŋ āĻāĻŦāĻ‚ āĻ•āύāĻĢāĻŋāĻ—āĻžāϰ āĻšāϝāĻŧ⧇āϗ⧇āϛ⧇āĨ¤ āĻāĻ–āύ āφāĻĒāύāĻžāϕ⧇ cd command āĻĻāĻŋāϝāĻŧ⧇ āφāĻĒāύāĻžāϰ project āĻĢā§‹āĻ˛ā§āĻĄāĻžāϰ⧇ access āĻ•āϰāϤ⧇ āĻšāĻŦ⧇āĨ¤ āϤāĻžāϰāĻĒāϰ āύāĻŋāĻŽā§āύ⧋āĻ•ā§āϤ āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āĻĻāĻŋāϝāĻŧ⧇ Web server āϟāĻŋ āϰāĻžāύ āĻ•āϰāϤ⧇ āĻĒāĻžāϰ⧇āύ, āĻāĻŦāĻ‚ āĻĄā§‡āϭ⧇āϞāĻĒāĻŽā§‡āĻ¨ā§āϟ āĻļ⧁āϰ⧁ āĻ•āϰāϤ⧇ āĻĒāĻžāϰ⧇āύāĨ¤

cd my-vue-app-01
npm run serve

āĻāĻ–āύ āϝāĻĻāĻŋ āφāĻĒāύāĻŋ āφāĻĒāύāĻžāϰ āĻŦā§āϰāĻžāωāϜāĻžāϰ āĻ āĻāχ http://localhost:8080 URL āϟāĻŋ āĻšāĻŋāϟ āĻ•āϰ⧇āύ , āϤāĻžāĻšāϞ⧇ āύāĻŋāĻŽā§āύ⧋āĻ•ā§āϤ āϰ⧇āϜāĻžāĻ˛ā§āϟ āĻĒāĻžāĻŦ⧇āύ :

Graphical User Interface āĻ Project āϤ⧈āϰāĻŋ :

āĻāĻ–āύ āφāĻŽāϰāĻž Vue CLI 3 āϤ⧇ āĻ•āĻžāϜ āĻ•āϰāĻžāϰ āĻĻā§āĻŦāĻŋāϤ⧀āϝāĻŧ āĻ…āĻĒāϏāύ graphical user interface āĻ āφāĻŽāĻžāĻĻ⧇āϰ āύāϤ⧁āύ Project āϤ⧈āϰāĻŋ āĻ•āϰāĻŦāĨ¤ āφāĻĒāύāĻžāϕ⧇ āύāĻŋāĻŽā§āύ⧋āĻ•ā§āϤ āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āĻĻāĻŋāϝāĻŧ⧇ graphical user interface āϟāĻŋ āϰāĻžāύ āĻ•āϰāϤ⧇ āĻšāĻŦ⧇āĨ¤

vue ui

āϤāĻžāϰāĻĒāϰ āφāĻĒāύāĻžāϰ āĻĄāĻŋāĻĢāĻ˛ā§āϟ āĻŦā§āϰāĻžāωāϜāĻžāϰ āϝ⧇āϟāĻŋ āϏ⧇āϟ āĻ•āϰāĻž āφāϛ⧇, āϤāĻžāϤ⧇ āύāĻŋāĻŽā§āύ⧇āϰ āĻŽāϤ⧋ āĻāĻ•āϟāĻž Vue Project Manager application āĻĒā§āϰāĻĻāĻ°ā§āĻļāύ āĻ•āϰāĻŦ⧇āĨ¤

āĻāĻ–āύ āϝāĻĻāĻŋ āφāĻĒāύāĻŋ http://localhost:8000/project/select āĻāχ URL āĻ āϝāĻžāύ , āĻ…āĻĨāĻŦāĻž āφāĻĒāύāĻžāϰ āĻšāĻžāϤ⧇āϰ āϞ⧇āĻĢāϟ āĻ•āĻ°ā§āύāĻžāϰ⧇ Vue Project Manager Menu āϤ⧇ āϝāĻžāύ āϤāĻžāĻšāϞ⧇ āφāĻĒāύāĻžāϰ āϤ⧈āϰāĻŋāĻ•ā§ƒāϤ āĻĒā§āϰāĻœā§‡āĻ•ā§āϟ āϗ⧁āϞ⧋ āĻĒā§āϰāĻĻāĻ°ā§āĻļāύ āĻ•āϰāĻŦ⧇āĨ¤ āĻāĻŦāĻ‚ āϏ⧇āĻ–āĻžāύ⧇ āφāĻĒāύāĻŋ āφāĻĒāύāĻžāϰ āφāϗ⧇āϰ āĻĒā§āϰāĻœā§‡āĻ•ā§āϟ āϗ⧁āϞ⧋ āĻŽā§āϝāĻžāύ⧇āϜ āĻ•āϰāϤ⧇ āĻĒāĻžāϰāĻŦ⧇āύ āĻāĻŦāĻ‚ āύāϤ⧁āύ āύāϤ⧁āύ āĻĒā§āϰāĻœā§‡āĻ•ā§āϟ āϤ⧈āϰāĻŋ āĻ•āϰāϤ⧇ āĻĒāĻžāϰāĻŦ⧇āύāĨ¤

āĻāĻ–āύ āφāĻŽāϰāĻž āωāĻĒāϰ⧇ Create āĻŦāĻžāϟāύ⧇ āĻ•ā§āϞāĻŋāĻ• āĻ•āϰāĻžāϰ āĻŽāĻžāĻ§ā§āϝāĻŽā§‡ āύāϤ⧁āύ āĻĒā§āϰāĻœā§‡āĻ•ā§āϟ āϤ⧈āϰāĻŋāϰ āωāχāĻ¨ā§āĻĄā§‹ āϤ⧇ āϝāĻžāĻŦā§‹āĨ¤ āϏ⧇āĻ–āĻžāύ⧇ āϞāĻ•ā§āĻˇā§āϝ āĻ•āϰāĻŦ⧇ āϞ⧇āĻĢāϟ āϏāĻžāχāĻĄ āĻ āĻāĻ•āϟāĻž āĻĒā§āϰāĻœā§‡āĻ•ā§āϟ āϤ⧈āϰāĻŋāϰ āϝ⧇āχāϏāĻŦ āϰāĻŋāϏ⧋āĻ°ā§āϏ⧇ āĻĻāϰāĻ•āĻžāϰ āϤāĻžāϰ āϞāĻŋāĻ¸ā§āϟ āφāϛ⧇āĨ¤

āĻāĻ–āύ āφāĻŽāϰāĻž Create a New Project Here āĻāχ āĻŦāĻžāϟāύ⧇ āĻ•ā§āϞāĻŋāĻ• āĻ•āϰāĻžāϰ āĻŽāĻžāĻ§ā§āϝāĻŽā§‡ āĻāĻ•āϟāĻž āύāϤ⧁āύ āĻĒā§āϰāĻœā§‡āĻ•ā§āϟ āϤ⧈āϰāĻŋ āĻ•āϰāĻŦāĨ¤

āĻāχ āĻĢāĻ°ā§āĻŽ āĻ āφāĻĒāύāĻžāϕ⧇ āύāĻŋāĻŽā§āύ⧋āĻ•ā§āϤ āĻŦāĻŋāώāϝāĻŧāϗ⧁āϞ⧋ āĻĢāĻŋāϞāĻžāĻĒ āĻ•āϰ⧇ āĻĻāĻŋāϤ⧇ āĻšāĻŦ⧇

  • Project Name āϟāĻŋ āĻĻāĻŋāϤ⧇ āĻšāĻŦ⧇āĨ¤
  • āϝ⧇āχ package manager āϟāĻŋ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāĻŦ⧇āύ āϏ⧇āϟāĻŋ āϏāĻŋāϞ⧇āĻ•ā§āϟ āĻ•āϰ⧇ āĻĻāĻŋāϤ⧇ āĻšāĻŦ⧇āĨ¤
  • TargetāĻĢā§‹āĻ˛ā§āĻĄāĻžāϰ āϝāĻĻāĻŋ āĻ…āϞāϰ⧇āĻĄāĻŋ āĻĨāĻžāϕ⧇ āϏ⧇āϟāĻŋ override āĻšāĻŦ⧇ āĻ•āĻŋāύāĻž āϤāĻž āϏāĻŋāϞ⧇āĻ•ā§āϟ āĻ•āϰ⧇ āĻĻāĻŋāϤ⧇ āĻšāĻŦ⧇āĨ¤
  • āύāϤ⧁āύ Git repository āϕ⧇ āύāĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āϟ āĻ•āϰ⧇ āĻĻāĻŋāϤ⧇ āĻšāĻŦ⧇āĨ¤

āĻāĻŦāĻžāϰ Presets view āĻĻ⧇āĻ–āĻžāϰ āϜāĻ¨ā§āϝ Next āĻ āĻ•ā§āϞāĻŋāĻ• āĻ•āϰ⧁āύāĨ¤

āĻāĻ–āĻžāύ⧇ Manual Option āϟāĻž āϏāĻŋāϞ⧇āĻ•ā§āϟ āĻ•āϰ⧁āύāĨ¤ āĻāϤ⧇ āφāĻĒāύāĻŋ āφāĻĒāύāĻžāϰ āĻĒāĻ›āĻ¨ā§āĻĻ āĻŽāϤ⧋ features āϝ⧁āĻ•ā§āϤ āĻ•āϰāϤ⧇ āĻĒāĻžāϰāĻŦ⧇āύāĨ¤

āĻāϰ āφāϗ⧇ āφāĻĒāύāĻŋ āϞāĻ•ā§āĻˇā§āϝ āĻ•āϰ⧇ āĻĨāĻžāĻ•āĻŦ⧇āύ , āφāĻŽāϰāĻž āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āϞāĻžāχāύ⧇ āφāĻŽāϰāĻž āφāĻŽāĻžāĻĻ⧇āϰ āĻ…ā§āϝāĻžāĻĒā§āϞāĻŋāϕ⧇āĻļāύ⧇ āĻ…āϤāĻŋāϰāĻŋāĻ•ā§āϤ features āϝ⧁āĻ•ā§āϤ āĻ•āϰ⧇āĻ›āĻŋāϞāĻžāĻŽ, āϝ⧇āĻŽāύāσ Router feature. āĻāĻ–āĻžāύ⧇āĻ“ āφāĻŽāϰāĻž āĻĄāĻŋāĻĢāĻ˛ā§āϟ āĻĢā§€āϚāĻžāϰ āĻāϰ āĻĒāĻžāĻļāĻžāĻĒāĻžāĻļāĻŋ āφāĻŽāϰāĻž āĻ…āϤāĻŋāϰāĻŋāĻ•ā§āϤ Router feature āϟāĻŋ āϝ⧁āĻ•ā§āϤ āĻ•āϰ⧇āĻ›āĻŋāĨ¤

āĻāĻ–āύ āφāĻĒāύāĻžāϕ⧇ Next āĻĻāĻŋāϝāĻŧ⧇ āĻĒāϰāĻŦāĻ°ā§āϤ⧀ āĻ¸ā§āĻŸā§‡āĻĒ āĻ āϝ⧇āϤ⧇ āĻšāĻŦ⧇āĨ¤

āĻāĻ–āĻžāύ⧇ āφāĻŽāϰāĻž āύāĻŋāĻŽā§āύ⧋āĻ•ā§āϤ āĻŦāĻŋāώāϝāĻŧāϗ⧁āϞ⧋ āĻŦ⧇āϛ⧇ āύāĻŋāϤ⧇ āĻĒāĻžāϰāĻŦāĨ¤

  • Router āĻāϰ āϜāĻ¨ā§āϝ history mode activate āĻ•āϰāĻžāĨ¤
  • Linter/Formatter Configuration āϕ⧇ āύāĻŋāϤ⧇ āĻĒāĻžāϰāĻŦāĨ¤
  • āĻāĻŦāĻ‚ āĻ•āĻŽāĻŋāϟ āĻ…āĻŦāĻ¸ā§āĻĨāĻžāϝāĻŧ Lint āĻāĻŦāĻ‚ fix āĻšāĻŦ⧇ āĻ•āĻŋāύāĻž

āĻāĻ–āύ āφāĻŽāϰāĻž project āϤ⧈āϰāĻŋāϰ process āϕ⧇ āĻļ⧇āώ āĻ•āϰāĻžāϰ āϜāĻ¨ā§āϝ Create Project āĻŦāĻžāϟāύ⧇ āĻ•ā§āϞāĻŋāĻ• āĻ•āϰāĻŦāĨ¤

āĻāĻ–āĻžāύ⧇ āφāĻĒāύāĻŋ āφāĻĒāύāĻžāϰ āĻāχ āĻĒā§āϰāĻœā§‡āĻ•ā§āϟ āĻāϰ āĻ•āύāĻĢāĻŋāĻ—āĻžāϰ⧇āĻļāύ āϕ⧇ āύāϤ⧁āύ āĻ•āϰ⧇ āϏ⧇āĻ­ āĻ•āϰ⧇ āĻ…āĻĨāĻŦāĻž āϏ⧇āĻ­ āύāĻž āĻ•āϰ⧇ āϝ⧇āϕ⧋āύ⧋ āĻāĻ•āϟāĻŋ āϏāĻŋāϞ⧇āĻ•ā§āϟ āĻ•āϰ⧇ āĻĒā§āϰāĻœā§‡āĻ•ā§āϟ āϤ⧈āϰāĻŋ āĻ•āϰāϤ⧇ āĻĒāĻžāϰāĻŦ⧇āύāĨ¤

āĻŽā§‹āϟāĻžāĻŽā§‹āϟāĻŋ āφāĻŽāĻžāĻĻ⧇āϰ āĻĒā§āϰāĻœā§‡āĻ•ā§āϟ āϤ⧈āϰāĻŋ āĻļ⧇āώ , āĻāĻ–āύ āφāĻĒāύāĻŋ āĻĄā§āϝāĻžāĻļāĻŦā§‹āĻ°ā§āĻĄ āĻ āĻŦāϏ⧇ āφāĻĒāύāĻžāϰ Project āϗ⧁āϞ⧋ ,Plugins, Dependencies, Configuration āĻāĻŦāĻ‚ Project Tasks āϏāĻŦāχ āĻŽā§āϝāĻžāύ⧇āϜ āĻ•āϰāϤ⧇ āĻĒāĻžāϰāĻŦ⧇āύāĨ¤

VueJS UI āĻĻāĻŋāϝāĻŧ⧇ āĻĒā§āϰāĻœā§‡āĻ•ā§āϟ āϰāĻžāύ :

āĻāĻ–āύ āφāĻŽāϰāĻž āϖ⧁āĻŦ āϏāĻšāĻœā§‡ āφāĻŽāĻžāĻĻ⧇āϰ āĻĄā§āϝāĻžāĻļāĻŦā§‹āĻ°ā§āĻĄā§‡ āĻŦāϏ⧇ , āĻĒā§āϰāĻœā§‡āĻ•ā§āϟ āϕ⧇ āϰāĻžāύ āĻ•āϰāϤ⧇ āĻĒāĻžāϰāĻŦāĨ¤ āĻāϰ āϜāĻ¨ā§āϝ⧇ āφāĻĒāύāĻžāϕ⧇ āĻĄā§āϝāĻžāĻļāĻŦā§‹āĻ°ā§āĻĄā§‡āϰ āϞ⧇āĻĢāϟ āĻ•āĻ°ā§āύāĻžāϰ⧇ View project manager āĻĨ⧇āϕ⧇ āĻĒā§āϰāĻœā§‡āĻ•ā§āϟ āϟāĻŋāϕ⧇ āϏāĻŋāϞ⧇āĻ•ā§āϟ āĻ•āϰāϤ⧇ āĻšāĻŦ⧇āĨ¤ āϤāĻžāϰāĻĒāϰ āϞ⧇āĻĢāϟ āϏāĻžāχāĻĄāĻŦāĻžāϰ āĻĨ⧇āϕ⧇ Tasks Menu āϏāĻŋāϞ⧇āĻ•ā§āϟ āĻ•āϰāϤ⧇ āĻšāĻŦ⧇āĨ¤ āϤāĻžāϰāĻĒāϰ serve Menu āϤ⧇ āϝ⧇āϤ⧇ āĻšāĻŦ⧇āĨ¤ āϏāĻ°ā§āĻŦāĻļ⧇āώ run tasks āĻŦāĻžāϟāύ⧇ āĻ•ā§āϞāĻŋāĻ• āĻ•āϰ⧇ āĻĒā§āϰāĻœā§‡āĻ•ā§āϟ āϟāĻŋ āϰāĻžāύ āĻ•āϰāϤ⧇ āĻšāĻŦ⧇āĨ¤

āĻāĻ–āύ āϝāĻĻāĻŋ āφāĻĒāύāĻŋ āϜāĻžāύāϤ⧇ āϚāĻžāύ , āφāĻĒāύāĻžāϰ āĻĒā§āϰāĻœā§‡āĻ•ā§āϟ āϟāĻŋ āϕ⧋āύ URL āĻ āϚāĻžāϞ⧁ āĻšāĻŦ⧇ , āϤāĻžāĻšāϞ⧇ āφāĻĒāύāĻžāϕ⧇ Output āĻŦāĻžāϟāύ⧇ āĻ•ā§āϞāĻŋāĻ• āĻ•āϰ⧇ āĻ•āĻ¨ā§āĻĢāĻžāĻ°ā§āĻŽ āĻšāϤ⧇ āĻšāĻŦ⧇āĨ¤

āĻāĻ–āύ āϝāĻĻāĻŋ āφāĻĒāύāĻŋ Output Button āĻ āĻĻ⧇āĻ“āϝāĻŧāĻž URL āĻ āĻ­āĻŋāϜāĻŋāϟ āĻ•āϰ⧇āύ, āϤāĻžāĻšāϞ⧇ āύāĻŋāĻŽā§āύ⧇āϰ āĻŽāϤ⧋ āĻāĻ•āϟāĻž āφāωāϟāĻĒ⧁āϟ āĻĒāĻžāĻŦ⧇āύāĨ¤

VueJS Project āĻ āύāϤ⧁āύ āĻĒ⧇āϜ āϝ⧁āĻ•ā§āϤ āĻ•āϰāύ

āφāĻĒāύāĻŋ āϞāĻ•ā§āĻˇā§āϝ āĻ•āϰ⧇ āĻĨāĻžāĻ•āĻŦ⧇āύ VueJS āĻŦāĻžāχ āĻĄāĻŋāĻĢāĻ˛ā§āϟ āφāĻŽāĻžāĻĻ⧇āϰ āϜāĻ¨ā§āϝ Home āĻāĻŦāĻ‚ About āύāĻžāĻŽā§‡ āĻĻ⧁āϟāĻŋ āĻĒ⧇āϜ āϤ⧈āϰāĻŋ āĻ•āϰ⧇ āϰāĻžāĻ–āϛ⧇āĨ¤ āĻāĻ–āύ āĻāχ āĻĻ⧁āϟāĻŋ āĻĒ⧇āϜ āĻāϰ āĻĒāĻžāĻļāĻžāĻĒāĻžāĻļāĻŋ Contact āύāĻžāĻŽā§‡ āĻāĻ•āϟāĻž āĻĒ⧇āϜ āϤ⧈āϰāĻŋ āĻ•āϰāĻŦāĨ¤ āφāϰ āĻāϰ āϜāĻ¨ā§āϝ āφāĻŽāĻžāĻĻ⧇āϰāϕ⧇ āĻĒā§āϰāĻĨāĻŽā§‡ āφāĻŽāĻžāĻĻ⧇āϰ āĻĒā§āϰāĻœā§‡āĻ•ā§āϟ āĻĢā§‹āĻ˛ā§āĻĄāĻžāϰ⧇ āĻ…āĻŦāĻ¸ā§āĻĨāĻŋāϤ src/views āĻĢā§‹āĻ˛ā§āĻĄāĻžāϰ⧇ Contact.vue āύāĻžāĻŽā§‡ āĻāĻ•āϟāĻž āĻĢāĻžāχāϞ āϤ⧈āϰāĻŋ āĻ•āϰāĻŦ, āĻāĻŦāĻ‚ āύāĻŋāĻŽā§āύ⧋āĻ•ā§āϤ āϕ⧋āĻĄ āϞāĻŋāĻ–āĻŦāĨ¤

<template>
  <div class="contact">
    <h1>This is a Contact Us page</h1>
  </div>
</template>

āĻāĻŦāĻžāϰ āφāĻŽāϰāĻž src āĻĢā§‹āĻ˛ā§āĻĄāĻžāϰ⧇ App.vue āĻĢāĻžāχāϞ⧇ Home āĻāĻŦāĻ‚ About āĻŽā§‡āύ⧁āϰ āĻĒāĻžāĻļāĻžāĻĒāĻžāĻļāĻŋ Contact Us āĻŽā§‡āύ⧁āϟāĻŋ āϝ⧁āĻ•ā§āϤ āĻ•āϰāĻŦ ,āφāĻĒāύāĻžāϰ App.vue āĻĢāĻžāχāϞ⧇ āύāĻŋāĻšā§‡āϰ āĻŽāϤ⧋ āĻ•āϰ⧇ āφāĻĒāĻĄā§‡āϟ āĻ•āϰ⧇ āĻĻāĻŋāύāĨ¤

<template>
  <div id="app">
    <div id="nav">
      <router-link to="/">Home</router-link> |
      <router-link to="/about">About</router-link> |
      <router-link to="/contact">Contact Us</router-link>
    </div>
    <router-view />
  </div>
</template>
 
<style>
#app {
  font-family: "Avenir", Helvetica, Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-align: center;
  color: #2c3e50;
}
#nav {
  padding: 30px;
}
 
#nav a {
  font-weight: bold;
  color: #2c3e50;
}
 
#nav a.router-link-exact-active {
  color: #42b983;
}
</style>

āĻāĻŦāĻžāϰ āφāĻŽāϰāĻž src āĻĢā§‹āĻ˛ā§āĻĄāĻžāϰ⧇ router.js āĻĢāĻžāχāϞ⧇ Contact Us route āĻŽā§‡āύ⧁āϰ āϜāĻ¨ā§āϝ āĻāĻ•āϟāĻž route āϏ⧇āϟ āĻ•āϰāĻŦāĨ¤ āφāĻĒāύāĻžāϰ router.js file āĻ ⧍⧍ āύāĻŽā§āĻŦāϰ āϞāĻžāχāύ⧇āϰ āĻĒāϰ āύāĻŋāĻŽā§āύ⧋āĻ•ā§āϤ āϕ⧋āĻĄ āϗ⧁āϞ⧋ āϝ⧁āĻ•ā§āϤ āĻ•āϰāĻŦāĨ¤

{
     path: "/contact",
     name: "contact",
     // route level code-splitting
     // this generates a separate chunk (about.[hash].js) for this route
     // which is lazy-loaded when the route is visited.
     component: () =>
       import(/* webpackChunkName: "contact" */ "./views/Contact.vue")
   }

āĻāĻŦāĻžāϰ āφāĻĒāύāĻŋ āύāĻŋāĻšā§‡āϰ āĻŽāϤ⧋ āϰ⧇āϜāĻžāĻ˛ā§āϟ āĻĻ⧇āĻ–āϤ⧇ āĻĒāĻžāĻŦ⧇āύāĨ¤