1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

【1人で完走】来年新卒エンジニアのJDによるAdvent Calendar 2022

Day 18

Vueの環境構築~画像を表示してみる

Last updated at Posted at 2022-12-17

環境構築

brew install yarn
yarn (global) add @vue/cli
yarn -s run vue -V
vue create  .
yarn serve
  1. brew install yarn
    homebrew… ソースコードを取得してビルドするパッケージ管理システム
    yarn… npm(Node package Manager)にかわるパッケージマネージャ(ライブラリの追加やインストールを容易にしてくれるもの)
  2. yarn (global) add @vue/cli
    vue-cli…Commnad Line Interfaceの略で前準備をしてくれる
    私はglobalを入れなかったのでこのプロジェクトのみで使えるvue-cliをインストール
  3. yarn -s run vue -V
    vueを実行して -Vのオプションでバージョンを確認できる
  4. vue create .
    プロジェクトの作成をしました。 .には任意のプロジェクト名を入れられる
  5. yarn serve
    プロジェクトを立ち上げる

localhost:8080で表示されました〜!

ファイルの構成

https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/436259/ef6ddaf7-2076-5404-2e2a-3c221ebe3a48.png

  • babel.config.js…Babelという次世代JavaScriptをES5に変換してくれるツールの設定をする
    全部のブラウザが最新型のJavaScriptを理解できない場合もあるから昔の言葉に直す必要もある!

画像を表示してみる

index.htmlをのぞいてみると、、、


<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width,initial-scale=1.0">
    <link rel="icon" href="<%= BASE_URL %>favicon.ico">
    <title><%= htmlWebpackPlugin.options.title %></title>
  </head>
  <body>
    <noscript>
      <strong>We're sorry but <%= htmlWebpackPlugin.options.title %> doesn't work properly without JavaScript enabled. Please enable it to continue.</strong>
    </noscript>
    <div id="app"></div>
    <!-- built files will be auto injected -->
  </body>
</html>

screencapture-localhost-8080-2020-05-30-00_32_49.png

main.jsを見てみると、、、

import Vue from 'vue'
import App from './App.vue'

Vue.config.productionTip = false

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

mout()関数を使って#appにAppとやらを足している、、、?
import App from './App.vue' なのでApp.vueを覗いてみると

<template>
  <div id="app">
    <img alt="Vue logo" src="./assets/logo.png" />
    <HelloWorld msg="Welcome to Your Vue.js App" />
    <Girl msg="女の子出てきて" />
    <Fish msg="ヤマメ" />
    <Cat msg="猫" />
  </div>
</template>

<script>
import HelloWorld from "./components/HelloWorld.vue";
import Girl from "./components/characters/Girl.vue";
import Fish from "./components/characters/Fish.vue";
import Cat from "./components/characters/Cat.vue";

export default {
  name: "App",
  components: {
    HelloWorld,
    Girl,
    Fish,
    Cat
  }
};
</script>

<style>
#app {
  font-family: Avenir, Helvetica, Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-align: center;
  color: #2c3e50;
  margin-top: 60px;
}
</style>

from ~のファイルから取ってきたものをtemplateとしてexportしてる!
それぞれのファイルを見てみると、、、

<!-- Girl.vue -->
<template>
  <div class="girl">
    <img src="@/assets/girl.png" alt="女の子" />
  </div>
</template>

<script>
export default {
  name: "Girl",
  props: {
    msg: String
  }
};
</script>

<!-- Fish.vue -->
<template>
  <div class="fish">
    <img src="@/assets/fish.png" alt="お魚" />
  </div>
</template>

<script>
export default {
  name: "Fish",
  props: {
    msg: String
  }
};
</script>

<!-- Cat.vue -->
<template>
  <div class="cat">
    <img src="@/assets/cat.png" alt="猫" />
  </div>
</template>

<script>
export default {
  name: "Cat",
  props: {
    msg: String
  }
};
</script>

それぞれexportしている
nameの部分がApp.vueのタグになっている

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?