欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

vue使用babel runtime

在Vue項(xiàng)目開(kāi)發(fā)過(guò)程中,我們經(jīng)常會(huì)用到ES6及以上的語(yǔ)法特性,但是不同瀏覽器對(duì)這些特性的支持程度并不相同。這就需要我們使用babel進(jìn)行代碼轉(zhuǎn)換。而在轉(zhuǎn)換的過(guò)程中,babel也會(huì)添加一些輔助函數(shù)來(lái)完成一些ES6中不支持的api操作,而這些輔助函數(shù)需要在代碼中引入,而babel-runtime就是為此而生的。在Vue項(xiàng)目中,我們也可以使用babel-runtime來(lái)進(jìn)行代碼轉(zhuǎn)換。

一、配置babel-runtime

{
"presets": [
["env", {
"modules": false,
"targets": {
"browsers": [">1%", "last 2 versions", "not ie<= 8"]
}
}],
"stage-2"
],
"plugins": [
"transform-runtime"
]
}

在babel配置文件中添加transform-runtime插件即可。另外,需要說(shuō)明的是,如果使用了async/await,在env預(yù)設(shè)中需要指定regenerator選項(xiàng)為true。

二、使用babel-runtime

import { createApp } from 'vue';
import App from './App.vue'
import VueRouter from 'vue-router';
import routes from './router.js';
import { Button } from 'vant';
const app = createApp(App);
app.use(VueRouter);
app.use(Button);
const router = new VueRouter({
mode: 'history', 
base: process.env.BASE_URL,
routes
});
app.use(router).mount('#app');

在代碼中可以看到,我們使用了createApp函數(shù)創(chuàng)建了一個(gè)Vue實(shí)例,并通過(guò)調(diào)用實(shí)例的use方法來(lái)安裝插件,這些插件內(nèi)部也使用了babel-runtime來(lái)進(jìn)行代碼轉(zhuǎn)換。

三、使用babel-runtime的好處

1. 減小打包后的文件體積,由于babel-runtime是以模塊化的方式引入,而這些模塊在打包時(shí)會(huì)被忽略。

2. 避免全局變量污染,babel-runtime會(huì)以模塊方式引入,這有助于避免污染全局命名空間。

3. 支持tree-shaking,避免重復(fù)引入相同的代碼。

四、小結(jié)

Vue項(xiàng)目中可以使用babel-runtime來(lái)進(jìn)行代碼轉(zhuǎn)換,通過(guò)引入babel-runtime可以減小打包后的文件體積、避免全局變量污染及支持tree-shaking等優(yōu)點(diǎn),是一種不錯(cuò)的選擇。