vue學習筆記(五)

1、vue模塊化開發

所謂的模塊化開發是指將不一樣的部分封裝到不一樣的模塊中,再也不將全部的組件、路由等寫在一個頁面中。各模塊各司其職,提升開發效率。css

使用vue-cli生成的項目目錄裏,咱們主要關注src目錄。vue

1 . main.js文件

main.js是整個項目的入口文件,vue-cli自動生成的文件內容以下:webpack

import Vue from 'vue'      
import App from './App'
import router from './router'
 
Vue.config.productionTip = false   //生產環境提示,這裏設置成了false,不提示
 
 /* eslint-disable no-new */
new Vue({
  el: '#app',
  router,
  template: '<App/>',
  components: { App }
})

在這裏引入了路由、App組件,掛載到了根組件。ios

2. App.vue

這個是咱們以前提到的單頁面組件。web

<template>
  <div id="app">
    <img src="./assets/logo.png">
    <router-view></router-view>
  </div>
</template>
 
<script>
export default {
  name: 'app'
}
</script>
 
<style scoped>

</style>

咱們能夠給樣式加如上的屬性,scoped表示該樣式只在當前組件中有效,這在模塊化開發中很是有效,不會干擾其餘組件的樣式。vue-router

3.router/index.js

這是項目的路由文件,存放項目中全部的路由。vue-cli

import Vue from 'vue'
import Router from 'vue-router'
import Hello from '@/components/Hello'
 
Vue.use(Router)
 
export default new Router({
  routes: [
    {
      path: '/',
      name: 'Hello',
      component: Hello
    }
  ]
})

這裏和咱們以前所學沒什麼不一樣,不過是涉及了很多ES6的知識。npm

2、axios模塊化

官方推薦的axios不像vue-router那樣成熟,目前還不能使用Vue.use()方法全局使用。element-ui

有兩種解決方案:axios

  • 在每一個組件中引入axios
    • import axios form 'axios'
  • 在main.js中全局引入axios並添加到Vue原型中
    • Vue.prototype.axios = axios
    • this.axios.get()
//每一個組件中引入axios
axios.get(url)
.then( res => {
    console.log(res);
})
.catch( err => {
    console.log(err);
})

//在main.js中全局引入axios並添加到Vue原型中
this.axios.get(url)
.then( res => {
    console.log(res);
})
.catch( err => {
    console.log(err);
})

3、Elment UI

1. 簡介

Element UI是餓了麼團隊開源的一套基於Vue2.0的組件庫,能夠快速搭建網站,提升開發效率。

2. 快速上手

  • 安裝
  • 在main.js中引入
  • 在webpack中添加loader
//1. 安裝elment ui
cnpm install element-ui -S

//2. 在main.js中引入
import ElementUI from 'element-ui'
import 'element-ui/lib/theme-default/index.css'

//3. 在webpack.base.conf.js中配置loader
CSS樣式和字體圖標都須要由相應的loader來加載,因此須要style-loader、css-loader、file-loader
使用less得安裝:less、less-loader

關於具體的使用,在文檔中都有介紹,這裏不贅述。

4、 自定義全局組件(插件)

全局組件(插件):就是指能夠在main.js中使用Vue.use()進行全局引入,而後在其餘組件中就均可以使用了,例如vue-router

步驟:

  • 1.建立組件(插件)
  • 2.編寫index.js
  • 3.在main.js中引入
  • 4.在組件中使用
//1. 建立組件(插件)
user

//2. 編寫index.js文件
import user from './user'

export default {
    install: function(Vue) {
        Vue.component('User', user);
    }
}

//3.在main.js中引入
import User from './components/user'
Vue.use(User);

//4.在組件中使用
<User></User>
相關文章
相關標籤/搜索