이것Do! 저것Do!!

2020/04/16 - [Development] - 윈도우즈에서 일렉트론-뷰 데스크탑 어플리케이션 개발하기 1

2020/04/20 - [Development] - 윈도우즈에서 일렉트론-뷰 데스크탑 어플리케이션 개발하기 2

 

자......일단 기본은 한 것 같은데 그 다음은?? 이젠 뭘 어떻게 해야 하나......????????????????

(자바스크립트를 해 봤어야 뭔가 진도가 팍팍 나갈텐데 아는 게 없으니 이건 뭐 하나 겨우 끝내놓으면 또 산이네...ㅠㅠ)

 

한동안 'yarn electron:serve'만 실행해보고 실행된 윈도우 쳐다보다가 닫고 또 다시 실행하고를 반복하며 한숨만...

비주얼스튜디오코드로 일단 디렉토리를 열어보자!!

 

'main.js'가 일단 'main'이 들어가 있는 놈이니 한 번 열어보자...........................허걱!! 이게 뭥미???

import Vue from 'vue'
import App from './App.vue'
import router from './router'
import store from './store'
import vuetify from './plugins/vuetify'

Vue.config.productionTip = false

new Vue({
  router,
  store,
  vuetify,
  render: h => h(App)
}).$mount('#app')

아니 걍 이게 다라고???? 허허허허.........

위 코드가 실행하면 이 모양이라네......? 허허허허.....................

 

쫄지말고 함 들여다보자. '피할 수 없으면 즐겨라!!'라니깐...^^;

딴건 모르겠고, 'import', 'from' 요런 키워드는 python에서 많이 보던건데...그렇다면 뭔가 'from' 뒤에 있는 놈들이 파일이나 디렉토리와 관련된 것들이렸다?!!

마침 'main.js'위에 'App.vue'가 보이네. 이걸 열어봤더니,

<template>
  <v-app>
    <v-app-bar
      app
      color="primary"
      dark
    >
      <div class="d-flex align-center">
        <v-img
          alt="Vuetify Logo"
          class="shrink mr-2"
          contain
          src="https://cdn.vuetifyjs.com/images/logos/vuetify-logo-dark.png"
          transition="scale-transition"
          width="40"
        />

        <v-img
          alt="Vuetify Name"
          class="shrink mt-1 hidden-sm-and-down"
          contain
          min-width="100"
          src="https://cdn.vuetifyjs.com/images/logos/vuetify-name-dark.png"
          width="100"
        />
      </div>

      <v-spacer></v-spacer>

      <v-btn
        href="https://github.com/vuetifyjs/vuetify/releases/latest"
        target="_blank"
        text
      >
        <span class="mr-2">Latest Release</span>
        <v-icon>mdi-open-in-new</v-icon>
      </v-btn>
    </v-app-bar>

    <v-content>
      <HelloWorld/>
    </v-content>
  </v-app>
</template>

<script>
import HelloWorld from './components/HelloWorld'

export default {
  name: 'App',

  components: {
    HelloWorld
  },

  data: () => ({
    //
  })
}
</script>

 

캬....이건 또 뭔 html 같아 보이는 태그(tag)들의 향연이다냐??? 자꾸 의욕 떨어지게......ㅡㅡ;;;

(html로 홈페이지를 만들어 본 게 어언 20여년 전이었던 듯 한데...허허허허............)

눈알에 힘주고 코드를 째려본다. 'Vuetify Logo', 'Vuetify Name', 'releases/latest' 뭐 이런 것들이 눈에 들어오긴 한다. 어? 이거 아까 실행된 앱에서 html을 막 훑어보다가 어서 본 것 같은데???

실행된 앱의 윈도우를 최대로 키워놓고 html쪽 코드가 접혀 있던 것들을 막 펴면서 만져봤더랬다. 그 중에서 저런 이름들을 본 적이 있었네~

접혀 있는 html 코드를 주욱~ 펼쳐놓고 잘 보면 빨간 네모 부분이 'App.vue'에서도 보인다는 것을 눈치챌 수 있다.

 

아하~ 오케이 대충 감 잡았으~~~!!

앱 실행화면에서 타이틀바 같은 부분(vuetify로고와 'Vuetify' 글자 그리고 'LATEST RELEASE'가 있는 부분)이 'App.vue'에서 '<template>~</template>'로 둘러쌓인 부분인 것이고, 화면에서 타이틀바 아랫부분은 아직 뭔지 잘은 모르겠지만 'import HelloWorld from './components/HelloWorld'' -> 요 파일과 뭔가 관련이 있는 놈일 것이다.

그럼 './components/HelloWorld.vue'를 열어보자.

<template>
  <v-container>
    <v-row class="text-center">
      <v-col cols="12">
        <v-img
          :src="require('../assets/logo.svg')"
          class="my-3"
          contain
          height="200"
        />
      </v-col>

      <v-col class="mb-4">
        <h1 class="display-2 font-weight-bold mb-3">
          Welcome to Vuetify
        </h1>

        <p class="subheading font-weight-regular">
          For help and collaboration with other Vuetify developers,
          <br>please join our online
          <a
            href="https://community.vuetifyjs.com"
            target="_blank"
          >Discord Community</a>
        </p>
      </v-col>

      <v-col
        class="mb-5"
        cols="12"
      >
        <h2 class="headline font-weight-bold mb-3">
          What's next?
        </h2>

        <v-row justify="center">
          <a
            v-for="(next, i) in whatsNext"
            :key="i"
            :href="next.href"
            class="subheading mx-3"
            target="_blank"
          >
            {{ next.text }}
          </a>
        </v-row>
      </v-col>

      <v-col
        class="mb-5"
        cols="12"
      >
        <h2 class="headline font-weight-bold mb-3">
          Important Links
        </h2>

        <v-row justify="center">
          <a
            v-for="(link, i) in importantLinks"
            :key="i"
            :href="link.href"
            class="subheading mx-3"
            target="_blank"
          >
            {{ link.text }}
          </a>
        </v-row>
      </v-col>

      <v-col
        class="mb-5"
        cols="12"
      >
        <h2 class="headline font-weight-bold mb-3">
          Ecosystem
        </h2>

        <v-row justify="center">
          <a
            v-for="(eco, i) in ecosystem"
            :key="i"
            :href="eco.href"
            class="subheading mx-3"
            target="_blank"
          >
            {{ eco.text }}
          </a>
        </v-row>
      </v-col>
    </v-row>
  </v-container>
</template>

<script>
export default {
  name: 'HelloWorld',

  data: () => ({
    ecosystem: [
      {
        text: 'vuetify-loader',
        href: 'https://github.com/vuetifyjs/vuetify-loader'
      },
      {
        text: 'github',
        href: 'https://github.com/vuetifyjs/vuetify'
      },
      {
        text: 'awesome-vuetify',
        href: 'https://github.com/vuetifyjs/awesome-vuetify'
      }
    ],
    importantLinks: [
      {
        text: 'Documentation',
        href: 'https://vuetifyjs.com'
      },
      {
        text: 'Chat',
        href: 'https://community.vuetifyjs.com'
      },
      {
        text: 'Made with Vuetify',
        href: 'https://madewithvuejs.com/vuetify'
      },
      {
        text: 'Twitter',
        href: 'https://twitter.com/vuetifyjs'
      },
      {
        text: 'Articles',
        href: 'https://medium.com/vuetify'
      }
    ],
    whatsNext: [
      {
        text: 'Explore components',
        href: 'https://vuetifyjs.com/components/api-explorer'
      },
      {
        text: 'Select a layout',
        href: 'https://vuetifyjs.com/layout/pre-defined'
      },
      {
        text: 'Frequently Asked Questions',
        href: 'https://vuetifyjs.com/getting-started/frequently-asked-questions'
      }
    ]
  })
}
</script>

 

 

대에~충 코드에서 표현하려고 하는 text와 하이퍼링크, 이미지 이런 것들을 보니 맞네, 맞아~

좋아..대충 무슨 파일을 건드려야 하는지까지는 알았으니까.........일단 좀 쉬자...에휴........ㅡㅡ;;

 

2020/04/16 - [Development] - 윈도우즈에서 일렉트론-뷰 데스크탑 어플리케이션 개발하기 1