国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > JavaScript > 正文

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

2024-05-06 15:31:32
字體:
供稿:網(wǎng)友

項目中用到了Vue.js和Elenment-UI

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

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

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

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

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

1、由于項目使用了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的選項來配置相應(yīng)內(nèi)容

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

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

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

在.babelrc文件中

{"presets":["evn"]}

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

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

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

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

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

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

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表

圖片精選

主站蜘蛛池模板: 甘洛县| 大城县| 宁津县| 黄浦区| 余干县| 宁晋县| 福建省| 紫阳县| 安阳县| 镇雄县| 桃园市| 陕西省| 滨海县| 深圳市| 延川县| 普定县| 九龙县| 三明市| 离岛区| 阜宁县| 天津市| 长顺县| 兴山县| 凉山| 瓮安县| 大悟县| 工布江达县| 万山特区| 金华市| 潮安县| 墨江| 武威市| 淳安县| 阳泉市| 盐边县| 德钦县| 广昌县| 巩义市| 安塞县| 临沧市| 石屏县|