最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Vue+webpack+Element 兼容問(wèn)題總結(jié)(小結(jié))

 更新時(shí)間:2018年08月16日 15:17:32   作者:Cuiyuwei  
這篇文章主要介紹了Vue+webpack+Element 兼容問(wèn)題總結(jié)(小結(jié)),小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧

項(xiàng)目中用到了Vue.js和Elenment-UI

Vue官方文檔中給出明確范圍:Vue 不支持 IE8 及以下版本,因?yàn)?Vue 使用了 IE8 無(wú)法模擬的 ECMAScript 5 特性。但它支持所有兼容 ECMAScript 5 的瀏覽器。

而且Element-UI支持IE10+及大多數(shù)瀏覽器。由此要用到Babel,主要用于將ECMAScript 2015+代碼轉(zhuǎn)換為舊瀏覽器或環(huán)境中向后兼容的JavaScript版本。在此之前,需要先搞清楚IE6~11是否支持es5:

  • IE6~IE8:不支持es5的所有語(yǔ)法;
  • IE9:支持除ECMAScript 5 Strict Mode外的es5語(yǔ)法;
  • IE10:支持es5的所有語(yǔ)法;
  • IEÏ11:支持es5所有語(yǔ)法及es6中const和Typed Arrays新語(yǔ)法

babel可以把同種語(yǔ)言的高版本規(guī)則翻譯成低版本規(guī)則,其轉(zhuǎn)譯過(guò)程也分為三個(gè)階段:parsing、transforming、generating。(1)解析步驟接收代碼并輸出 AST(抽象語(yǔ)法樹(shù)),這其中又包含兩個(gè)階段詞法分析和語(yǔ)法分析。詞法分析階段把字符串形式的代碼轉(zhuǎn)換為令牌(tokens)流。語(yǔ)法分析階段會(huì)把一個(gè)令牌流轉(zhuǎn)換成 AST 的形式,方便后續(xù)操作。(2) 利用我們配置好的plugins/presets把Parser生成的AST轉(zhuǎn)變?yōu)樾碌腁ST。(3)代碼生成步驟過(guò)程是深度優(yōu)先遍歷整個(gè) AST,然后構(gòu)建可以表示轉(zhuǎn)換后代碼的字符串。

下面總結(jié)Babel的使用:

1、由于項(xiàng)目使用了webpack打包工具,安裝

npm install --save-dev babel-loader babel-core

2、在webpack.config.js中設(shè)置

module: {
  rules: [
   {
    test: /\.js$/,
    loader: "babel-loader",
    include: [
     resolve("src"),
     resolve("test"),
    ],
   },Ï
  ]
}

可以根據(jù)webpack中Module的選項(xiàng)來(lái)配置相應(yīng)內(nèi)容

3、在根目錄下創(chuàng)建.babelrc文件來(lái)添加插件,文件添加成功后,可以開(kāi)始配置內(nèi)容

首先,可以使用evn預(yù)設(shè)置,它支持ES2015+的轉(zhuǎn)換

npm install babel-preset-env --save-dev

在.babelrc文件中

{
"presets":["evn"]

}

如果沒(méi)有任何配置選項(xiàng),babel-preset-env的行為與babel-preset-latest(或babel-preset-es2015、babel-preset-es2016和babel-preset-es2017一起)完全相同。

當(dāng)然,還有可選的選項(xiàng)可以配置,例如:

  [
   "env",
   {
    "modules": false,
    "targets": {
     "browsers": ["> 1%", "last 2 versions"]
    }
   }
   "stage-2"
  ],

evn中設(shè)置項(xiàng)所代表的意思:

  • targets.node 支持到哪個(gè)版本的
  • node targets.browsers 支持到哪個(gè)版本的瀏覽器
  • loose 啟動(dòng)寬松模式,配合 webpack 的 loader 使用
  • modules 使用何種模塊加載機(jī)制
  • debug 開(kāi)啟調(diào)試模式
  • include 包含哪些文件
  • exclude 排除哪些文件
  • useBuiltIns 是否對(duì) babel-polyfill 進(jìn)行分解,只引入所需的部分

targets.browsers是參考browserslist https://github.com/browserslist/browserslist設(shè)置瀏覽器條件。

設(shè)置了完成后,還需要用babel-polyfill來(lái)實(shí)現(xiàn)瀏覽器不能支持的原生代碼,在瀏覽器引入了相應(yīng)的polyfill后,可以用新的內(nèi)置對(duì)象比如 Promise 或者 WeakMap, 靜態(tài)方法比如 Array.from 或者 Object.assign, 實(shí)例方法比如 Array.prototype.includes。但是因?yàn)閎abel-polyfill是在原型鏈上直接添加方法,會(huì)污染全局變量,項(xiàng)目打包以后體積增大。

npm install --save babel-polyfill

若在應(yīng)用程序的入口頂點(diǎn)引入,則

require("babel-polyfill");

如果在應(yīng)用程序的入口點(diǎn)使用ES6的導(dǎo)入語(yǔ)法,則應(yīng)該在入口點(diǎn)的頂部導(dǎo)入polyfill,以確保首先加載polyfills

import("babel-polyfill");

如果通過(guò)webpack.config.js,在入口處添加:

module.exports = { entry: ["babel-polyfill", "./app/js"] };

為了不污染全局對(duì)象和內(nèi)置的對(duì)象原型,可以用babel-plugin-transform-runtime,在.babelrc文件中

"plugins": [
  [
   "transform-runtime",
   {
    "helpers": false,
    "polyfill": true,
    "moduleName": "babel-runtime"
   }
  ],
 ]

插件應(yīng)用于babel的轉(zhuǎn)譯過(guò)程,尤其是第二個(gè)階段transforming,如果這個(gè)階段不使用任何插件,那么babel會(huì)原樣輸出代碼。
如果同時(shí)添加了plugins和presets,注意:插件會(huì)在預(yù)設(shè)項(xiàng)之前運(yùn)行;插件按第一個(gè)到最后一個(gè)正序執(zhí)行;預(yù)設(shè)中設(shè)置從最后一個(gè)到第一個(gè)逆序執(zhí)行,設(shè)置時(shí)注意執(zhí)行順序。

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

相關(guān)文章

  • VUE使用echarts?5.0以上版本渲染器未導(dǎo)入錯(cuò)誤問(wèn)題

    VUE使用echarts?5.0以上版本渲染器未導(dǎo)入錯(cuò)誤問(wèn)題

    這篇文章主要介紹了VUE使用echarts?5.0以上版本渲染器未導(dǎo)入錯(cuò)誤問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-06-06
  • vue實(shí)現(xiàn)商城上貨組件簡(jiǎn)易版

    vue實(shí)現(xiàn)商城上貨組件簡(jiǎn)易版

    這篇文章主要為大家詳細(xì)介紹了vue實(shí)現(xiàn)商城上貨組件簡(jiǎn)易版,50行js代碼實(shí)現(xiàn)效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-11-11
  • 在vue項(xiàng)目中,使用axios跨域處理

    在vue項(xiàng)目中,使用axios跨域處理

    下面小編就為大家分享一篇在vue項(xiàng)目中,使用axios跨域處理,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-03-03
  • element-ui中如何給el-table的某一行或某一列加樣式

    element-ui中如何給el-table的某一行或某一列加樣式

    本文主要介紹了element-ui中怎么給el-table的某一行或某一列加樣式,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-01-01
  • 詳解Vue CLI3 多頁(yè)應(yīng)用實(shí)踐和源碼設(shè)計(jì)

    詳解Vue CLI3 多頁(yè)應(yīng)用實(shí)踐和源碼設(shè)計(jì)

    這篇文章主要介紹了詳解Vue CLI3 多頁(yè)應(yīng)用實(shí)踐和源碼設(shè)計(jì),小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-08-08
  • Vue3項(xiàng)目實(shí)現(xiàn)前端導(dǎo)出Excel的示例代碼

    Vue3項(xiàng)目實(shí)現(xiàn)前端導(dǎo)出Excel的示例代碼

    這篇文章主要介紹了Vue3項(xiàng)目實(shí)現(xiàn)前端導(dǎo)出Excel的示例,在vue3的項(xiàng)目中導(dǎo)出Excel表格的功能,可以借助xlsx庫(kù)來(lái)實(shí)現(xiàn),下面是詳細(xì)的操作步驟,需要的朋友可以參考下
    2025-01-01
  • vue3使用vue-router及路由權(quán)限攔截方式

    vue3使用vue-router及路由權(quán)限攔截方式

    這篇文章主要介紹了vue3使用vue-router及路由權(quán)限攔截方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-04-04
  • vue自定義開(kāi)發(fā)滑動(dòng)圖片驗(yàn)證組件

    vue自定義開(kāi)發(fā)滑動(dòng)圖片驗(yàn)證組件

    這篇文章主要為大家詳細(xì)介紹了vue自定義開(kāi)發(fā)滑動(dòng)圖片驗(yàn)證組件,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • Vue?中生命周期定義及流程

    Vue?中生命周期定義及流程

    這篇文章主要介紹了Vue中生命周期定義及流程,生命周期又被稱(chēng)為生命周期回調(diào)函數(shù)、生命周期函數(shù)或生命周期鉤子,下文關(guān)于其更多有趣的介紹需要的小伙伴可以參考一下文章詳細(xì)內(nèi)容
    2022-05-05
  • 基于vue+electron實(shí)現(xiàn)文件下載打開(kāi)wps預(yù)覽

    基于vue+electron實(shí)現(xiàn)文件下載打開(kāi)wps預(yù)覽

    這篇文章主要給大家介紹了基于vue+electron實(shí)現(xiàn)文件下載打開(kāi)wps預(yù)覽,文中有詳細(xì)的代碼示例供大家借鑒參考,感興趣的同學(xué)可以參考閱讀下
    2023-08-08

最新評(píng)論

琼海市| 施甸县| 岚皋县| 周至县| 屯门区| 静海县| 馆陶县| 长海县| 准格尔旗| 启东市| 博乐市| 万荣县| 怀来县| 林甸县| 泽普县| 曲松县| 弥渡县| 八宿县| 延长县| 凉山| 斗六市| 花垣县| 乐安县| 高淳县| 横山县| 临湘市| 沁阳市| 泰和县| 景宁| 新河县| 山西省| 河池市| 辽中县| 临猗县| 黄陵县| 玛曲县| 双桥区| 兖州市| 来凤县| 天气| 宜州市|