Vue 프로젝트에서 main.js를 사용하는 방법에 대한 자세한 설명

목차

1. Main.js 파일 분석

2. Vue.prototype의 기능과 사용법

3. Vue.use의 역할과 사용 시기

1. 구성품

월드 구성요소

2. index.js 파일을 정의하고 두 가지 구성 요소를 도입한 후 내보냅니다.

3. index.js를 main.js에 도입

4. 글로벌 사용(임포트 없이 바로 사용 가능)

 4. 기사 끝부분의 요약:


1. Main.js 파일 분석

  • src/main.js는 항목 파일이며, 주요 기능은 vue 인스턴스를 초기화하고 필요한 플러그인을 사용하는 것입니다.
  • vue 객체는 main.js 파일에 정의되어 있으며, 여기서 el은 인스턴스에 대한 장착 요소를 제공합니다.
//基础配置
import Vue from 'vue'
import App from './App.vue'
  
//引入已经配置好的路由和vuex
import router from './router'
import store from './store/store'
  
// 是否启动生产消息
Vue.config.productionTip = false
  
//第一种写法
new Vue({
  router,
  store,
  render: h => h(App)
}).$mount('#app')
  
//第二种写法
const myVue=new Vue({
  el:'#app',
  router,
  store,
  render: h => h(App)
})
  
export default myVue

2. Vue.prototype의 기능과 사용법

Vue 인스턴스의 프로토타입에 메서드나 속성을 넣고 전역적으로 사용할 수 있도록 합니다. this.property 및 this.method를 사용하세요.

import Vue from 'vue'
import App from './App.vue'
//路由导入
import router from './router'
//vuex导入
import store from './store'
//npm下载好的三方axios包
import axios from 'axios'
// 是否启动生产消息
Vue.config.productionTip = false
// 设置axios的请求根路径
axios.defaults.baseURL = 'url'
// 把 axios 挂载到 Vue.prototype 上
Vue.prototype.$http = axios
//其实是在Vue原型上增加了一个$http,然后在其余的vue组件的文件中,
//可以通过this.$http直接来使用axios
new Vue({
  router,
  store,
  render: h => h(App)
}).$mount('#app')

3. Vue.use의 역할과 사용 시기

간단히 말해서 전역 구성 요소를 등록하는 데 사용됩니다.

1. 구성품

안녕하세요 구성요소

<template>
    <div>
        this is Hello...
    </div>
</template>

월드 구성요소

<template>
    <div>
        this is World...
    </div>
</template>

2. index.js 파일을 정의하고 두 가지 구성 요소를 도입한 후 내보냅니다.

// 引入组件
import Hello from './Hello.vue'
import World from './World.vue'

// 定义 Loading 对象
const installObj = {
  // install 是默认的方法。当外界在 use 这个组件的时候,就会调用本身的 install 方法,同时传一个 Vue 这个类的参数。
  install: function (Vue) {
    Vue.component('sayHello', Hello),
    Vue.component('sayWorld', World)
  }
}

// 导出
export default installObj

3. index.js를 main.js에 도입

import Vue from 'vue'
import App from './App.vue'
// 这里用什么名字,并不重要
import installObj from './/index'

// 只要这里引用对就行
Vue.use(installObj)

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

4. 글로벌 사용(임포트 없이 바로 사용 가능)

<template>
  <div id="app">
    <h1>vue install example</h1>
    <sayHello></sayHello>
    <sayWorld></sayWorld>
  </div>
</template>

<script>
export default {
  name: 'app',
  data () {
    return {}
  }
}
</script>

결과:

 4. 기사 끝부분의 요약:

  1. sayHello이 두 구성 요소 에 대한 독립적인 참조를 사용하지 않더라도 sayWorld전역적으로 계속 사용할 수 있습니다. Vue.use()이 기능은 등록된 구성 요소를 전역적으로 사용할 수 있도록 하는 것입니다.

  2. axiosVue.use(axios)왜 사용하지 않고 바로 사용할 수 있나요 ?

  • Axios는 사용자가 전역적으로 사용할 수 있는 해당 구성 요소를 제공하지 않으며 개발자는 이를 캡슐화할 axios때 구성 요소를 전혀 구성하지 않습니다 install.
  • Axios가 내부적으로 전역 컴포넌트를 제공하더라도 이러한 컴포넌트를 사용하지 않는 한 Vue.use(axios)등록에 사용하지 않더라도 오류가 보고되지 않습니다.
  1. install 메소드는 Vue가 구성 요소를 프레임워크에 등록하여 전역적으로 사용할 수 있도록 하기 위해 제공됩니다.

추천

출처blog.csdn.net/qq_52421092/article/details/130725545