一個Vue項目同時包含PC端頁面和移動端頁面

大部分狀況下在作項目時,pc端和移動端是分開兩個項目的,可是也有少部分狀況,頁面不多的時候,就好比我此次要作的介紹頁(從第三方應用跳轉到本公司平臺,先跳轉到介紹頁,再從介紹頁進去執行免登陸操做),移動端一個介紹頁,pc端一個介紹頁,又不想用原始的html+jquery作,因而就在一個項目中同時存放pc頁面和移動端頁面。html

當我使用電腦打開時就顯示pc端的介紹頁,當使用手機打開時就顯示wap端的介紹頁(同時區分是微信打開仍是手機網頁打開)vue

1. 使用vue-cli搭建一個項目,這裏就很少說了jquery

2. 在搭建好的項目中新建兩個文件夾,一個存放pc文件,一個存放wap文件ios


3. router中配置相對應的路由地址vue-cli



4. 使用vue-meta單獨爲移動端的項目配置對應的metanpm

(1)安裝vue-meta : npm install vue-meta --save小程序

(2)main.js中引用meta微信小程序


(3)在單個wap端的vue頁面中設置meta信息瀏覽器

該例子中是introduce_wap中index.vuebash


配置完能夠看到wap端的介紹頁網頁中head多了一個meta的配置,pc端不須要,因此沒有配置,天然也就沒有下面這個meta


6. 引入common.js文件來適應單位爲rem的wap頁面


!function(doc, win) {  
    var docEl = doc.documentElement,      
    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 = 100 * (clientWidth / 750) + 'px';          
        }      
    };  
    if (!doc.addEventListener) return;  
    win.addEventListener(resizeEvt, recalc, false);  
    doc.addEventListener('DOMContentLoaded', recalc, false);
}(document, window);複製代碼

而後在main.js引入該common文件


7. 判斷是電腦打開仍是手機打開的,電腦打開的顯示introduce_pc頁面,手機打開的顯示introduce_wap頁面


_isMobile() {      
    let flag = navigator.userAgent.match(/(phone|pad|pod|iPhone|iPod|ios|iPad|Android|Mobile|BlackBerry|IEMobile|MQQBrowser|JUC|Fennec|wOSBrowser|BrowserNG|WebOS|Symbian|Windows Phone)/i)      
    return flag;    
}複製代碼

8. 判斷是微信打開仍是網頁打開,執行相應操做(例如:微信打開的話,二維碼的內容提示爲‘長按識別二維碼進入小程序’,網頁打開的話,內容提示爲‘請保存上方微信小程序圖片,在微信掃一掃中打開’)


// 判斷是微信打開仍是瀏覽器打開    
let ua = navigator.userAgent.toLowerCase();    
if (ua.match(/MicroMessenger/i) == "micromessenger") {        
    this.isWeixin = true    
} else {        
    this.isWeixin = false    
}複製代碼




這樣,全部功能就結束啦,如圖所示,電腦打開就是正常的pc頁面


手機打開或者點擊網頁的設備調試工具,就是wap端的頁面啦

相關文章
相關標籤/搜索