플러그인

2021. 2. 4. 13:51·개발중/Vue.js
728x90
반응형

플러그인은 일반적으로 전역 수준의 기능을 Vue 에 추가합니다.

 

플러그인에는 엄격하게 정의된 범위는 없습니다.

 

일반적으로 작성할 수 있는  플러그인에는 여러 유형  이 있습니다.

 

  1.  약간의 전역 메소드 또는 속성 추가
    1.  vue-custom-element
  2. 하나 이상의 글로벌 에셋 추가
    1. 디렉티브 / 필터 / 트렌지션 등 vue-router
  3. 글로벌 mixin으로 일부 컴포넌트를 추가
    1. vuex
  4. Vue.prototype 에 Vue 인스턴스 메소드를 연결하여 Vue 인스턴스 메소드를 추가하십시요
  5. 가지고 있는 API를 제공하면서 동시에 위의 일부 조합을 주입하는 라이브러리
    1. vue-router

 

플러그인 사용하기

Vue.use()  글로벌 메소드를 호출하여 플러그인을 사용

// 'MyPlugin.install(Vue)' 호출
Vue.use(MyPlugin)

new Vue({
   // ...options
)}

 

선택적으로 몇가지 옵션을 전달할 수 있는데 

Vue.use(MyPlugin, { someOption : true })

 

Vue.use 는 자동으로 같은 플러그인을 두 번 이상 사용하지 못하기 때문에 같은 플러그인에서 여러번 호출하면 플러그인이 한 번만 설치가 됩니다.

 

vue-router와 같은 Vue.js 공식 플러그인이 제공하는 일부 플러그인은 Vue 가 전역변수로 사용 가능한 경우 자동으로 Vue.use()  를 호출 합니다.
그러나 CommonJS 와 같은 모듈환경에서는 항상 Vue.use 를 명시적으로 호출해야 합니다.

 

 

// Browserify 또는 Webpack 를 통해 CommonJS 를 사용할 때

var Vue = require('vue')
var VueRouter = require('vue-router')


// 잊지 말기

Vue.use(VueRouter)

 


플러그인 작성하기

Vue.js 플러그인은 intall 메소드를 노출해야 합니다.

이 메소드는 첫번 째 인자로 Vue 생성자와 함께 가능한 옵션과 함께 호출될 것입니다.

 

MyPlugin.install = function (Vue, options){


	// 1. 전역 메소드 또는 속성 추가
    Vue.myGlobalMethod = function (){
    	// 필요한 로직
    }
    
    
    // 2. 전역 에셋 추가
    Vue.ditrctive( 'my-directive'{
    
    	blnd( el, bindingm vnode, oldVnode ){
        	// 필요한 로직
        }
    })
    
    
    // 3. 컴포넌트 옵션 주입
    Vue.mixin({
    	
        created : function (){
        	// 필요한 로직
        }
        
        . . .
    })
    
    
    // 4. 인스턴스 메소드 추가
    Vue.prototype.$myMethod = function ( methodOptions ){
    	// 필요한 로직
    }
}

 

 

728x90
반응형
저작자표시 (새창열림)

'개발중 > Vue.js' 카테고리의 다른 글

VueJS no tap ERROR 해결시도  (0) 2021.02.05
VueJS 의 index.js  (0) 2021.02.05
VueJS 실행시  (0) 2021.02.05
Vue 에서 제이쿼리 사용시 import  (0) 2021.02.04
Vue 에서 js 파일 생성해서 import 사용까지  (1) 2021.02.04
'개발중/Vue.js' 카테고리의 다른 글
  • VueJS 의 index.js
  • VueJS 실행시
  • Vue 에서 제이쿼리 사용시 import
  • Vue 에서 js 파일 생성해서 import 사용까지
Binsoo
Binsoo
내 트러블 슈팅
  • Binsoo
    정수빈 기술블로그임.
    Binsoo
  • 전체
    오늘
    어제
    • 빈수 개발자 개발 일기 (939)
      • 개발중 (635)
        • Spring Boot (95)
        • Spring Security (2)
        • Spring Batch (6)
        • Spring Boot & Redis (13)
        • Java Persistence API (JPA) (28)
        • Web (42)
        • Rest Api (7)
        • Spring Concurrency Control (3)
        • Redis (8)
        • Kubernetes (k8s) (4)
        • MYSQL (35)
        • AirFlow (15)
        • Docker (2)
        • Git (22)
        • Linux (9)
        • JSON Web Tokens (JWT) (4)
        • Troubleshooting (88)
        • Swagger (0)
        • Vue.js (52)
        • Java (74)
        • html (12)
        • C (5)
        • jQuery (15)
        • JavaServer Pages (JSP) (17)
        • Arduino (1)
        • JavaScript (35)
        • Amazon Web Services (AWS) (11)
        • Algorithm (9)
        • 참고 기능 (18)
        • mongo (2)
      • PROJECT (27)
        • 스프링부트+JPA+몽고 API 개발 (3)
        • MINI (2)
        • 게시판 (3)
        • vue 프로젝트 (1)
        • JPA 사이드 프로젝트 기록 (17)
      • TEAM STUDY (156)
        • 가상 면접 사례로 배우는 대규모 시스템 설계 기초 (8)
        • 한 권으로 읽는 컴퓨터 구조와 프로그래밍 (12)
        • NAVER DEVELOPER (4)
        • LINUX (23)
        • PYTHON (19)
        • SERVER (8)
        • 알고리즘 코딩 테스트 스터디 (31)
        • 쿠버네티스 (40)
        • 대세는 쿠버네티스 [초급~중급] (11)
      • BOOK (0)
      • 자격증 (61)
        • 리눅스 1급 - 필기 기록 (19)
        • 네트워크 관리사 (2)
        • 네트워크 관리사 2급 - 실기 기록 (21)
        • 네트워크 관리사 2급 - 필기 기록 (16)
        • 정보처리 (2)
      • 직장인 대학원 (18)
        • 기록 (3)
        • 캐글 스터디 (3)
        • R (12)
      • 논문 (5)
  • 블로그 메뉴

    • 홈
    • 태그
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    REST API
    리눅스 마스터
    알고리즘
    jpa
    네트워크 관리사 학점
    파이썬
    네트워크 관리사 실기
    네트워크 관리사 요약
    리눅스 마스터 1급 요약
    redis
    리눅스 마스터 1급
    쿠버네티스
    Git 저장소
    java
    docker
    git
    네트워크 관리사 자격증
    리눅스 1급 요약
    Spring
    springboot
    VUE
    리눅스 마스터 1급 정리
    스프링
    리눅스 마스터 요약
    BackendDevelopment
    네트워크 관리사 2급 실기
    쿠버네티스 스터디
    파이썬 알고리즘
    네트워크 관리사 2급
    네트워크 관리사
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.4
Binsoo
플러그인
상단으로

티스토리툴바