【Rails6】10분만에 Rails+Vue+Vuetify 환경 구축

10613 단어 Vue.jsRailsVuetify

전제 조건


  • Rails6
  • Vue.js 2.6.10
  • vuetify 2.1.13
  • yarn이 들어있는 것

  • 구축 절차



    1. rails new로 프로젝트 만들기



    이때 --webpack=vue를 지정한다.

    bash
    rails new --webpack=vue
    

    이때 yarn이나 webpacker 관련의 에러가 발생했을 경우는 이하의 기사를 참고해 주세요

    Rails6 개발시 어색한 webpacker, yarn 관련 오류 및 해결 방법

    서버 시작

    bash
    rails s
    

    http://localhost:3000/ 에 접속해 다음의 화면이 표시되면 OK입니다.


    2. Vue의 Hello World 표시



    데이터베이스 만들기



    bash
    rails db:create
    

    컨트롤러 작성



    bash
    rails g controller home index
    

    라우팅 설정



    config/routes.rb
    Rails.application.routes.draw do
      root to: 'home#index'
      # For details on the DSL available within this file, see https://guides.rubyonrails.org/routing.html
    end
    

    view 만들기



    app/views/home/index.html.erb
    <%= javascript_pack_tag 'hello_vue' %>
    

    다시 http://localhost:3000 에 접속해 이하의 화면이 표시되면 Vue의 환경 구축은 완료입니다.



    3. Vuetify 설치



    yarn을 사용하여 vuetify를 설치합니다.

    bash
    yarn add vuetify
    

    아래의 표시가 되면 설치 완료입니다

    bash
    ✨  Done in 7.03s.
    

    4. Vuetify 버튼 표시



    Vuetify 로드



    rails new --webpack=vue 덕분에 기본적으로 생성된다고 생각합니다.

    app/javascript/packs/hello_vue.js
    import Vue from "vue";
    import App from "../app.vue";
    
    
    document.addEventListener("DOMContentLoaded", () => {
      const app = new Vue({
        render: h => h(App)
      }).$mount();
      document.body.appendChild(app.$el);
    
      console.log(app);
    });
    

    이 파일을 편집합니다.

    app/javascript/packs/hello_vue.js
    import Vue from "vue";
    import Vuetify from "vuetify"; // 追加
    import "vuetify/dist/vuetify.min.css"; // 追加
    import App from "../app.vue";
    
    Vue.use(Vuetify); // 追加
    const vuetify = new Vuetify(); // 追加
    
    document.addEventListener("DOMContentLoaded", () => {
      const app = new Vue({
        vuetify, // 追加
        render: h => h(App)
      }).$mount();
      document.body.appendChild(app.$el);
    
      console.log(app);
    });
    

    Vuetify에서 표시할 파일 만들기



    여기도 기본적으로 만들어진 것 같습니다.

    app/javascript/app.vue
    <template>
      <div id="app">
        <p>{{ message }}</p>
      </div>
    </template>
    
    <script>
    export default {
      data: function() {
        return {
          message: "Hello Vue!"
        };
      }
    };
    </script>
    
    <style scoped>
    p {
      font-size: 2em;
      text-align: center;
    }
    </style>
    

    이 파일에 Vuetify 버튼을 추가합니다.

    app/javascript/app.vue
    <template>
      <v-app id="app"> <!-- 追加 -->
        <v-btn>Vuetifyのボタン</v-btn> <!-- 追加 -->
        <div>  <!-- 更新 -->
          <p>{{ message }}</p>
        </div>
      </v-app> <!-- 追加 -->
    </template>
    
    <script>
    

    이것으로 http://localhost:3000 에 접속해, 이하와 같은 표시가 되면
    Rails + Vue + Vuetify의 환경 구축이 완료되었습니다!



    미안해!

    끝에



    이 기사가 여러분의 Rails 라이프의 도움이 되면 다행입니다.
    이 외에도 Rails 중심의 기사를 쓰고 있습니다!

    좋은 웹페이지 즐겨찾기