vueパッケージアップロードプロセス

1747 ワード

最近、単一のテストモジュールを作成しました.web-viewを使用して微信ウィジェットに埋め込む必要があります.この過程で、以下のいくつかの問題に遭遇しました.
  • 微信ウィジェット環境判断ウィジェットにh 5インタフェースを導入する場合、現在の環境を判断してログインを決定する必要があるため、weixin-js-sdkを使用し、コードは以下の通りである:
  • .
    					let isweixin = false
    					let ua = navigator.userAgent.toLowerCase()
    					let isWeixin = ua.indexOf('micromessenger') !== -1  //                
    					if (isWeixin) {
    					  wx.miniProgram.getEnv((res) => {  //             
    					    isweixin = res.miniprogram
    					  })
    					} else {
    					  isweixin = false
    					}
    					return isweixin
    				}
    

    この過程では、複数の位置が判断するため、この関数をカプセル化し、この過程で関数の戻り値が取得できないという問題が発生し、isweixin()の値はundefinedである、後にwxのためであることが分かった.miniProgram.getEnvは非同期要求を送信ので、値を取るときに取れない場合がある.最後の処理方法は直接コードで判断する.
  • vueパッケージ時のmode設定はhistoryで発生する問題である.
  • 			export default new Router({
    			  mode: 'history',
    			  base: '/student/vuewordtest/',
    			  routes: [
    			    {
    			      path: '/',
    			      name: 'SelectType',
    			      component: resolve => require(['@/pages/wordTest/SelectType'], resolve),
    			      meta: {
    			        title: '    '
    			      }
    			    },
    			    {
    			      path: '/testWord',
    			      name: 'TestWord',
    			      component: resolve => require(['@/pages/wordTest/TestWord'], resolve),
    			      meta: {
    			        title: '    '
    			      }
    			    }
    			  ]
    			})
    

    modeのデフォルト値はhashですが、urlには#番号があります.このようなurlには特殊な文字が存在し、解析に不利であり、面白くないのでhostoryに変更します.ここで説明する必要がある場合、build以降のファイルがサーバルートディレクトリに置かれていない場合は、バックグラウンドで行パス構成を行う必要があります.詳細はvue-router公式サイト(https://router.vuejs.org/zh/guide/essentials/history-mode.html) 3.vueパッケージ後のアクセスアドレスhttp:www.***++base+path baseとpathはrouterで設定されています.