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

詳解一次Vue低版本安卓白屏問題的解決過程

 更新時間:2019年05月30日 09:31:20   作者:Gadzan  
這篇文章主要介紹了詳解一次Vue低版本安卓白屏問題的解決過程,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

因為業(yè)務(wù)需要一定要使用安卓4.4的webview瀏覽頁面,測試的時候發(fā)生了白屏問題,很自然想到使用babel轉(zhuǎn)換部分ES6語法.

Babel 轉(zhuǎn)換 Promise 和 Symbol ES6語法的配置

# 兩項都需要放到生產(chǎn)依賴
npm install babel-polyfill --save
npm install es6-promise --save
// main.js
import 'babel-polyfill';
import Es6Promise from 'es6-promise';

Es6Promise.polyfill();
// babel.config.js

process.env.VUE_CLI_BABEL_TRANSPILE_MODULES = true;

module.exports = {
 presets: [
  [
   '@vue/app',
   {
    useBuiltIns: 'entry',
    polyfills: [
     'es6.promise',
     'es6.symbol',
    ],
   },
  ],
 ],
 plugins,
};
// 使用vue cli3構(gòu)建的vue項目
// vue.config.js
module.exports = {
 transpileDependencies: ['webpack-dev-server/client'],
 chainWebpack: (config) => {
 config.entry.app = ['babel-polyfill', './src/main.js'];
 }
}

但結(jié)果還是白屏,那么決定使用Babel把語法轉(zhuǎn)換成安卓4.4以上,應(yīng)該沒有問題了。

// .browserslistrc
>= 1%
last 1 major version
not dead
Android >= 4.4

不同運行環(huán)境下的嚴格模式

結(jié)果還是白屏,查閱眾多網(wǎng)絡(luò)文章,同樣沒有很好的答案...

百思不得其解,無奈之下在 Android Studio 上下載了個4.4的模擬器,在內(nèi)置瀏覽器上打開頁面,使用 Chrome 遠程調(diào)試 Android 上的瀏覽器, 在 Chrome 上地址欄輸入 chrome://inspect/#devices 選擇相應(yīng)模擬器設(shè)備的 inspect 就會彈出 console 調(diào)試。

沒想到發(fā)現(xiàn)報錯是 Uncaught SyntaxError: Duplicate data property in object literal not allowed in strict mode ,意思是在嚴格模式下的對象里不能重復(fù)定義相同屬性,但是這在現(xiàn)代瀏覽器(Chrome)的嚴格模式上運行是沒有問題的,其結(jié)果是后定義的屬性值會覆蓋前定義的屬性值,例如:

'use strict'
var test = {
 a: 1,
 a: 2,
}
// 結(jié)果test會定義成 => {a: 2}

但是為什么會這樣呢,在打包后的報錯js文件里將其格式化后發(fā)現(xiàn)是組件的屬性重復(fù)定義了,

<van-nav-bar
 title="標題"
 left-text="返回"
 right-text="按鈕"
 left-arrow
 @click-left="onClickLeft"
 @click-right="onClickRight"
 :left-arrow="true"
/>

我的項目里 Vant 的 left-arrow 被我重復(fù)定義了,組件會被轉(zhuǎn)義成js:

所以說不同運行環(huán)境的嚴格模式還是會有不一樣的結(jié)果,

在網(wǎng)上查了下資料總結(jié)了嚴格模式下的幾種錯誤:

1. 我上面遇到的對象屬性重復(fù)定義

2. 在函數(shù)聲明中相同的參數(shù)名

SyntaxError: Strict mode function may not have duplicate parameter names.

例如:

function fix(a,b,a) {   
   return a+b;   
 }

3. 用前導(dǎo)0聲明8進制直接量

SyntaxError: Octal literals are not allowed in strict mode.

var a = 012;

4. 在eval中聲明變量、重新聲明、刪除或重寫eval和arguments這兩個標示符

SyntaxError: Assignment to eval or arguments is not allowed in strict mode.

例如:

'use strict';
eval('var foo = 2');

5. 用delete刪除顯示聲明的標識符、名稱和具名函數(shù)

SyntaxError: Delete of an unqualified identifier in strict mode.

例如:

function temp() { 
 'use strict'; 
 var test = 1; 
 delete test; 
}

6. 代碼中使用擴展的保留字,例如 interface , let , yield , package , private 等

SyntaxError: Unexpected strict mode reserved word

7. 使用了 with

SyntaxError: Strict mode code may not include a with statement

8. 函數(shù)中不可訪問caller、callee以及arguments

例如:

function foo(){
 'use strict';
 foo.caller;  // TypeError
 foo.arguments; // TypeError
 arguments.callee; // TypeError
}
foo();

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

相關(guān)文章

  • vue3+ts+mock實現(xiàn)增刪改查json文件的示例代碼

    vue3+ts+mock實現(xiàn)增刪改查json文件的示例代碼

    本文主要介紹了vue3+ts+mock實現(xiàn)增刪改查json文件的示例代碼,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2025-07-07
  • Vue與React的區(qū)別和優(yōu)勢對比

    Vue與React的區(qū)別和優(yōu)勢對比

    這篇文章主要介紹了Vue與React的區(qū)別和優(yōu)勢對比,幫助大家更好的選擇適合自己的前端框架,迷茫的同學可以進來參考下
    2020-12-12
  • vue antd的from表單中驗證rules中type的坑記錄

    vue antd的from表單中驗證rules中type的坑記錄

    這篇文章主要介紹了vue antd的from表單中驗證rules中type的坑記錄,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-04-04
  • vue 本地環(huán)境判斷方式

    vue 本地環(huán)境判斷方式

    這篇文章主要介紹了vue 本地環(huán)境判斷方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-04-04
  • vue+express 構(gòu)建后臺管理系統(tǒng)的示例代碼

    vue+express 構(gòu)建后臺管理系統(tǒng)的示例代碼

    這篇文章主要介紹了vue+express 構(gòu)建后臺管理系統(tǒng)的示例代碼,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-07-07
  • 基于el-tree實現(xiàn)懶加載穿梭條的示例代碼

    基于el-tree實現(xiàn)懶加載穿梭條的示例代碼

    這篇文章主要介紹了基于el-tree實現(xiàn)懶加載穿梭條的示例代碼,本文通過示例代碼給大家介紹的非常詳細,感興趣的朋友跟隨小編一起看看吧
    2024-03-03
  • Vue3.0數(shù)據(jù)響應(yīng)式原理詳解

    Vue3.0數(shù)據(jù)響應(yīng)式原理詳解

    這篇文章主要介紹了Vue3.0數(shù)據(jù)響應(yīng)式原理詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-10-10
  • Vue+OpenLayer為地圖添加風場效果

    Vue+OpenLayer為地圖添加風場效果

    這篇文章主要為大家展示了一個demo,即利用Vue和OpenLayer在地圖上面添加風場效果,文中的示例代碼講解詳細,感興趣的小伙伴可以了解一下
    2022-04-04
  • 如何重置vue打印變量的顯示方式

    如何重置vue打印變量的顯示方式

    這篇文章主要給大家介紹了關(guān)于如何重置vue打印變量顯示方式的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起看看吧。
    2017-12-12
  • Vue導(dǎo)出Excel功能的全過程記錄

    Vue導(dǎo)出Excel功能的全過程記錄

    在開發(fā)后臺管理系統(tǒng)的時候,很多地方都要用到導(dǎo)出excel 表格,比如將table中的數(shù)據(jù)導(dǎo)出到本地,這篇文章主要給大家介紹了關(guān)于Vue導(dǎo)出Excel功能的相關(guān)資料,需要的朋友可以參考下
    2021-07-07

最新評論