一、element——>快速入手——>按需引入方式:
(1)、安裝element-uicss
//-S等同於:--save //i是install的縮寫 npm i element-ui -S
(2)、安裝按需加載的依賴html
//-D等同於:--save-dev npm install babel-plugin-component -D
(3)、修改.babelrc文件爲:vue
{ "presets": [ ["env", { "modules": false, "targets": { "browsers": ["> 1%", "last 2 versions", "not ie <= 8"] } }], "stage-2" ], "plugins": ["transform-vue-jsx", "transform-runtime",["component", { "libraryName": "element-ui", "styleLibraryName": "theme-chalk" } ]] }
(4)、在main.js中配置webpack
import { Button } from 'element-ui' Vue.use(Button)
(5)、組件中使用git
<template> <div> <el-button type="danger">危險按鈕</el-button> </div> </template>
注意:下圖中的element標籤屬性應設置在標籤上,如:
<el-button type="danger" size="small">危險按鈕</el-button>
swiper地址: https://github.com/surmon-chi...
(1)、安裝:github
npm install vue-awesome-swiper --save
(2)、兩種引入方式:web
① 全局引入方式:在main.js文件中引入
import Vue from 'vue' import VueAwesomeSwiper from 'vue-awesome-swiper' import 'swiper/dist/css/swiper.css' //全局配置swiper Vue.use(VueAwesomeSwiper)
② 局部引入:組件中引入
import 'swiper/dist/css/swiper.css' import { swiper, swiperSlide } from 'vue-awesome-swiper' export default { components: { swiper, swiperSlide } }
(3)、組件中使用
注意:在使用的時候須要參照GitHub和官網的參數配置一塊兒使用,須要什麼參數就去官網找便可,就是比較麻煩而已。npm
<template> <div> <swiper :options="swiperOption"> <swiper-slide>I'm Slide 1</swiper-slide> <swiper-slide>I'm Slide 2</swiper-slide> <swiper-slide>I'm Slide 3</swiper-slide> <swiper-slide>I'm Slide 4</swiper-slide> <swiper-slide>I'm Slide 5</swiper-slide> <swiper-slide>I'm Slide 6</swiper-slide> <swiper-slide>I'm Slide 7</swiper-slide> <div class="swiper-pagination" slot="pagination"></div> </swiper> </div> </template> <script> export default { name: 'HelloWorld', data () { return { swiperOption:{ //這裏配置的參數參考官網API設置,這裏的pagination就是下圖中的官方配置 pagination: { el: '.swiper-pagination', } } } } } </script>
(1)、安裝:element-ui
//-D等同於:--save-dev npm install vue-lazyload -D
(2)、在main.js中引入::瀏覽器
import VueLazyload from 'vue-lazyload' Vue.use(VueLazyload)
(3)、在lazyload.vue組件中:
這樣圖片加載的過程當中:先加載loading圖片,再加載src路徑圖片,一旦出現錯誤將顯示error圖片。
(1)、安裝less
npm install less less-loader --save-dev npm install style-loader css-loader --save-dev
(2)、配置webpack.base.conf.js
{ test:/\.less$/, use:[ 'style-loader', 'css-loader', 'less-loader' ] }
(3)、在index.html文件添加js代碼:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1.0"> <title>beijing</title> //自適應屏幕調整相應的font-size值 <script> (function(doc,win){ var docEl = doc.documentElement, //orientationchange 屏幕旋轉事件 //首先判斷窗口有沒有orientationchange這個方法,有就賦值給變量,沒有就返回resize方法. resizeEvt = 'orientationchange' in window ? 'orientationchange' : 'resize', recalc = function (){ var clientWidth = docEl.clientWidth; if(!clientWidth) return; if(clientWidth >= 750){ docEl.style.fontSize = '100px'; }else{ docEl.style.fontSize = 40 * (clientWidth / 750) + 'px'; } }; if(!doc.addEventListener) return; win.addEventListener(resizeEvt,recalc,false); //瀏覽器把DOM樹構建完成後就觸發了DOMContentLoaded事件,load事件則要等包括圖片這些加載完畢纔會觸發;先是DOMContentLoaded發生,而後是load發生。 doc.addEventListener('DOMContentLoaded',recalc,false) })(document,window) </script> </head> <body> <div id="app"></div> <!-- built files will be auto injected --> </body> </html>
注意:這樣在iPhone6中就獲得,<html style="font-size: 20px;"> ,也就是1rem = 20px; 可是,當html設置的font-size小於16px時,它會以1rem = 16px進行計算,由於瀏覽器能識別的最小值爲16px。
(4)、TestFont.vue組件中:
<template> <div class="box"> <p>哈哈</p> </div> </template> <script> export default { name: "TestFont", } </script> <style scoped lang="less"> //box寬高爲:200px*300px,這樣直接作除法就能夠了 .box{ width:200 / 20rem; height:300 / 20rem; background: #ff0; } </style>