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

vue-cli腳手架的.babelrc文件用法說明

 更新時間:2020年09月11日 14:02:47   作者:以夢為馬papapa  
這篇文章主要介紹了vue-cli腳手架的.babelrc文件用法說明,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

雖然es6還沒被瀏覽器全部支持,但是使用es6是大勢所趨,所以babel應(yīng)運而生將es6代碼轉(zhuǎn)換成瀏覽器能夠識別的代碼

什么是.babelrc文件呢? 熟悉linux的同學一定知道,rc結(jié)尾的文件通常代表運行時自動加載的文件,配置等等,類似bashrc,zshrc

這個文件是用來設(shè)置轉(zhuǎn)碼的規(guī)則和插件

vue-cli腳手架的.babelrc文件

{
 // 此項指明,轉(zhuǎn)碼的規(guī)則
 "presets": [
 // env項是借助插件babel-preset-env,下面這個配置說的是babel對es6,es7,es8進行轉(zhuǎn)碼,并且設(shè)置amd,commonjs這樣的模塊化文件,不進行轉(zhuǎn)碼
 ["env", {
  "modules": false ,
  "targets": {//需要支持的環(huán)境
  "browsers": ["> 1%", "last 2 versions", "not ie <= 8"]
  }
 }],
 // 下面這個是不同階段出現(xiàn)的es語法,包含不同的轉(zhuǎn)碼插件
 // stage-x和es2015等有些類似,但是它是按照JavaScript的提案階段區(qū)分的,一共有5個階段。
 //而數(shù)字越小,階段越靠后,存在依賴關(guān)系。也就是說stage-0是包括stage-1的,以此類推。
 "stage-2"
 ],
 // 下面這個選項是引用插件來處理代碼的轉(zhuǎn)換,transform-runtime用來處理全局函數(shù)和優(yōu)化babel編譯,強烈推薦使用transform-runtime
 "plugins": ["transform-runtime"],
 // 下面指的是在生成的文件中,不產(chǎn)生注釋
 "comments": false,
 // 下面這段是在特定的環(huán)境中所執(zhí)行的轉(zhuǎn)碼規(guī)則,當環(huán)境變量是下面的test就會覆蓋上面的設(shè)置
 "env": {
 // test 是提前設(shè)置的環(huán)境變量,如果沒有設(shè)置BABEL_ENV則使用NODE_ENV,如果都沒有設(shè)置默認就是development
 "test": {
  "presets": ["env", "stage-2"],
  // instanbul是一個用來測試轉(zhuǎn)碼后代碼的工具
  "plugins": ["istanbul"]
 }
 }
}

browserslist: Library to share supported browsers list between different front-end tools. It is used in:

Autoprefixer

babel-preset-env

eslint-plugin-compat

stylelint-no-unsupported-browser-features

postcss-normalize

補充知識:vue cli3 element-ui懶加載 按需加載ui組件

前言

vue cli3.x + UI框架 開發(fā)時,經(jīng)常實際只用到的 UI框架 提供的幾個組件,而每次我們是全部引入,這會照成程序需要消耗更多的資源,尤其是在移動端(例如使用 mint ui),在性能上會有更大的影響,照成不好的用戶體驗。

接下來記錄以 vue cli3.x +element ui 為例實現(xiàn)按需加載組件。

未引入 element 插件時

引入 element ui(npm i element-ui -S)

如下圖,可見 app.js 增加了 5M 的數(shù)據(jù)。

// main.js
import ElementUI from 'element-ui'
import 'element-ui/lib/theme-chalk/index.css'
Vue.use(ElementUI)

只引入 element 的部分組件

如下圖,可見雖然我們只引用了兩個組件,但是 app.js 的大小幾乎不變,這樣沒有實現(xiàn)按需加載的效果。

import { Button, Select } from 'element-ui'
// 此時的樣式必須要引入,否則組件將沒有樣式
import 'element-ui/lib/theme-chalk/index.css'

Vue.use(Button)
Vue.use(Select)

實現(xiàn)按需加載

1.安裝插件 npm i babel-plugin-component -D

2.配置 babel.config.js

module.exports = {
 presets: [
  '@vue/app',
  ['@babel/preset-env', // 添加 babel-preset-env 配置
   {
    'modules': false
   }
  ]
 ],
 plugins: [
  [
   'component',
   {
    'libraryName': 'element-ui', // 按需引入的組件庫
    'styleLibraryName': 'theme-chalk' // 按需引入的樣式
   }
  ]
 ]
}

把 main.js 也修改下:

import { Button, Select } from 'element-ui'
// 此時的樣式不需要引入了,樣式自動按需來引入
// import 'element-ui/lib/theme-chalk/index.css'
Vue.use(Button)
Vue.use(Select)

Vue.config.productionTip = false

new Vue({
 router,
 render: h => h(App)
}).$mount('#app')

配置好后重新 npm run serve 下,此時的 app.js 相對于沒有引入插件時只增加了幾百 k 的大小,這樣就實現(xiàn)了按需加載。

以上這篇vue-cli腳手架的.babelrc文件用法說明就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評論

呼图壁县| 河曲县| 宣恩县| 阜康市| 济阳县| 开阳县| 罗甸县| 南华县| 临澧县| 广德县| 肥城市| 长治市| 金平| 孟津县| 上栗县| 通榆县| 青海省| 大城县| 五华县| 介休市| 龙川县| 民丰县| 景德镇市| 和田市| 潍坊市| 定结县| 开化县| 夹江县| 琼中| 延吉市| 祁阳县| 拜城县| 承德市| 永嘉县| 双峰县| 砚山县| 南涧| 张家港市| 浠水县| 梁平县| 水城县|