欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

詳解vue移動端項目代碼拆分記錄

 更新時間:2019年03月15日 11:19:47   作者:坐不住的程序員  
這篇文章主要介紹了詳解vue移動端項目代碼拆分記錄,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

擼一套vue多端共用,非常適合需要快速且全面上線的項目。但是多端共用一套vue代碼,由于平臺間的互相限制,每端在某些業(yè)務(wù)例如支付分享等是完全獨立的代碼,每個平臺的支付方式也會有所差異,造成在這些業(yè)務(wù)的實現(xiàn)過程中會有太冗余的“if else”判斷。所以為了提高代碼的復(fù)用性、擴展性,可以將代碼拆分,以-小程序和App兩端舉例,一份部署到小程序,一份部署到App(Android&Ios)。

首先代碼拆分應(yīng)該保證本地開發(fā)的時候只有一套代碼,提取所有公共頁面,并且分別提取小程序和app的獨立JS方法,避免開發(fā)完小程序端vue,然后粘貼復(fù)制到App端的繁瑣操作。
直接看圖最清晰,拆分前目錄結(jié)構(gòu):

拆分后目錄結(jié)構(gòu):

拆分前項目目錄結(jié)構(gòu)

拆分后項目目錄結(jié)構(gòu)

目錄拆分好之后,開始拆分代碼。由于部署到生產(chǎn)環(huán)境的時候只能App端部署App端,小程序端部署小程序端,那么在本地開發(fā)過程中為了調(diào)試不同端的頁面就需要進行路由配置,所以對路由配置文件route.list.js做了修改:
拆分代碼前,route.list.js中將所有頁面JS文件的相對路徑放在一個數(shù)組里:

define(
 [
  ‘../xxx/xxx/user.js',
  ‘../xxx/xxx/goods.js',
  …
  …
 ]
)

拆分后,route.list.js中按public、mobile_app、wechat_mini 分別定義數(shù)組,這樣如果現(xiàn)在正在開發(fā)小程序端的vue,那么則將public和wechat_mini的數(shù)組合并到一起,開發(fā)app端的vue則將public和moblie_app的數(shù)組合并到一起,合并數(shù)組使用ES6擴展運算符(…)。

var public_goods = [];
var mini_goods = [];
var app_goods = [];
var fun = (isWechatMini) => {
  if(isWechatMini){
    return [
     …public_goods,
     …mini_goods
    ]
  } else {
    return [
     …public_goods,
     …app_goods
    ]
  }
}
define(
  fun(true)
)

將公共部分和獨立部分的頁面拆分之后,進一步分析代碼:App端和小程序端相互獨立的大多是支付功能,分享功能等涉及到需要原生處理的地方,并且會在多個頁面,多個業(yè)務(wù)中出現(xiàn),那么就將App獨立的vue代碼拆分到一個公共JS中(app-common.js),將小程序獨立的vue代碼拆分到一個公共JS中(mini-common.js),在需要的頁面中引入即可。就商品購買支付功能為例:

拆分前:

define([‘vue', ‘a(chǎn)xios', ‘text!/File/Html/goods/goodsPay.html'], (vue, axios, Template) => {
  var App = {
   data() {

   },
   template: Template,
   mounted() {

   },
   methods: {
     pay(){
       if(isWechatMini){
         //這里是小程序支付
       } else {
         //這里是App支付
       }
     }
   }
  };

  return{
    app: App
  };
  
});

業(yè)務(wù)復(fù)雜的情況下,會有多層if else,代碼太冗余。

拆分后:

小程序端的商品支付購買頁面:

define([‘vue', ‘a(chǎn)xios', ‘text!/File/Html/mini/goods/goodsPay.html', ‘mini-common'], (vue, axios, Template, common) => {
  var App = {
    data() {

    },
  template: Template,
  mounted() {

  },
  methods: {
     pay(){
       //調(diào)用mini-common中定義的支付方法
       common.pay();
     }
  }
 };

 return{
  app: App
 };
  
});

App端的商品購買支付頁面只需要將引入的JS換成app-common即可:

define([‘vue', ‘a(chǎn)xios', ‘text!/File/Html/app/goods/goodsPay.html', ‘a(chǎn)pp-common'], (vue, axios, Template, common) => {
  var App = {
    data() {
    },
  template: Template,
  mounted() {

  },
  methods: {
    pay(){
      //調(diào)用app-common中定義的支付方法
      common.pay();
    }
   }
  };
  return{
   app: App
  };
  
});

本地開發(fā)完后,部署到服務(wù)器只需要將public目錄下和wechat_mini下的文件復(fù)制粘貼到打包工具打包即是小程序端的代碼,public和mobile_app打包即是app端的代碼。

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 使用vue?v-for循環(huán)圖片路徑方式

    使用vue?v-for循環(huán)圖片路徑方式

    這篇文章主要介紹了使用vue?v-for循環(huán)圖片路徑方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-04-04
  • vue中的自定義分頁插件組件的示例

    vue中的自定義分頁插件組件的示例

    這篇文章主要介紹了vue中的自定義分頁插件組件的示例,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-08-08
  • vue3實現(xiàn)tabs導(dǎo)航欄點擊每個導(dǎo)航項有下劃線動畫效果

    vue3實現(xiàn)tabs導(dǎo)航欄點擊每個導(dǎo)航項有下劃線動畫效果

    這篇文章主要介紹了vue3實現(xiàn)tabs導(dǎo)航欄點擊每個導(dǎo)航項有下劃線動畫效果,本文通過實例代碼給大家介紹的非常詳細,感興趣的朋友跟隨小編一起看看吧
    2024-07-07
  • 關(guān)于vue2響應(yīng)式缺陷的問題

    關(guān)于vue2響應(yīng)式缺陷的問題

    這篇文章主要介紹了關(guān)于vue2響應(yīng)式缺陷的問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-09-09
  • Vue實現(xiàn)骨架屏的示例代碼

    Vue實現(xiàn)骨架屏的示例代碼

    骨架屏就是在頁面數(shù)據(jù)尚未加載前先給用戶展示出頁面的大致結(jié)構(gòu)。本文將利用Vue實現(xiàn)簡單的骨架屏,感興趣的小伙伴可以跟隨小編一起學(xué)習一下
    2023-03-03
  • Vue cli 引入第三方JS和CSS的常用方法分享

    Vue cli 引入第三方JS和CSS的常用方法分享

    下面小編就為大家分享一篇Vue cli 引入第三方JS和CSS的常用方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-01-01
  • vue單頁緩存方案分析及實現(xiàn)

    vue單頁緩存方案分析及實現(xiàn)

    這篇文章主要介紹了vue單頁緩存方案分析及實現(xiàn),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-09-09
  • Vue 實現(xiàn)前端權(quán)限控制的示例代碼

    Vue 實現(xiàn)前端權(quán)限控制的示例代碼

    這篇文章主要介紹了Vue 實現(xiàn)前端權(quán)限控制的示例代碼,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習或者工作具有一定的參考學(xué)習價值,需要的朋友們下面隨著小編來一起學(xué)習學(xué)習吧
    2019-07-07
  • vue中圖片加載不出來的問題及解決

    vue中圖片加載不出來的問題及解決

    這篇文章主要介紹了vue中圖片加載不出來的問題及解決,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-03-03
  • vue自定義一個v-model的實現(xiàn)代碼

    vue自定義一個v-model的實現(xiàn)代碼

    這篇文章主要介紹了vue自定義一個v-model的實現(xiàn)代碼,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下
    2018-06-06

最新評論