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

理順8個(gè)版本vue的區(qū)別(小結(jié))

 更新時(shí)間:2018年09月17日 10:08:52   作者:ziwei3749  
這篇文章主要介紹了理順8個(gè)版本vue的區(qū)別(小結(jié)),小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧

一共8個(gè)版本的vue

術(shù)語(yǔ)

  • 完整版:同時(shí)包含編譯器和運(yùn)行時(shí)的版本。
  • 編譯器:用來(lái)將模板字符串編譯成為 JavaScript 渲染函數(shù)的代碼。
  • 運(yùn)行時(shí):用來(lái)創(chuàng)建 Vue 實(shí)例、渲染并處理虛擬 DOM 等的代碼?;旧暇褪浅ゾ幾g器的其它一切。
  • UMD:UMD 版本可以通過(guò) <script> 標(biāo)簽直接用在瀏覽器中。jsDelivr CDN 的 https://cdn.jsdelivr.net/npm/vue 默認(rèn)文件就是運(yùn)行時(shí) + 編譯器的 UMD 版本 (vue.js)。
  • CommonJS:CommonJS 版本用來(lái)配合老的打包工具比如 Browserify 或 webpack 1。這些打包工具的默認(rèn)文件 (pkg.main) 是只包含運(yùn)行時(shí)的 CommonJS 版本 (vue.runtime.common.js)。
  • ES Module:ES module 版本用來(lái)配合現(xiàn)代打包工具比如 webpack 2 或 Rollup。這些打包工具的默認(rèn)文件 (pkg.module) 是只包含運(yùn)行時(shí)的 ES Module 版本 (vue.runtime.esm.js)。

重點(diǎn):

如果你需要在客戶端編譯模板 (比如傳入一個(gè)字符串給 template 選項(xiàng),或掛載到一個(gè)元素上并以其 DOM 內(nèi)部的 HTML 作為模板),就將需要加上編譯器

通俗來(lái)說(shuō),就是runtime版本是無(wú)法對(duì)template進(jìn)行解析的

一共8個(gè)vue版本,都是用在什么情況下的?

  1. 默認(rèn)會(huì)用的哪個(gè)vue版本,vue-cli里用的哪個(gè)版本?
  2. 如何指定使用哪個(gè)版本的vue?

不急,從2個(gè)維度去理解這8個(gè)版本。

  • 根據(jù)是否需要編譯器分為: 運(yùn)行時(shí)版本 和 完整版
  • 根據(jù)這個(gè)vue代碼用在什么地方: 分為UMD / CommonJS / ES Module

【運(yùn)行時(shí)版本】和【完整版】的區(qū)別: 用不用編譯?

  • 完整版: 包括編譯器和運(yùn)行時(shí)的版本
  • 編譯器: vue里用的<template></template>語(yǔ)法是需要被編譯的
  • 運(yùn)行時(shí): 用來(lái)創(chuàng)建Vue實(shí)例、渲染、處理虛擬Dom,可以理解為除了編譯器剩下的代碼都屬于運(yùn)行時(shí)

如果你需要使用template的語(yǔ)法,就需要編譯器,那么就要使用完整版

用了.vue文件的大多數(shù)情況下,你可以用運(yùn)行時(shí)版本

當(dāng)你使用vue-loader或vueify的時(shí)候, *.vue文件內(nèi)部會(huì)預(yù)編譯成JS,所以你在最終打好的包里,

實(shí)際上是不需要編譯器的,所以這種情況,應(yīng)該用運(yùn)行時(shí)版本,畢竟運(yùn)行時(shí)版本的體積比完整版要小30%

如果我一定要用完整版的呢? 如何選擇版本呢?

你需要在webpack里配置alias

module.exports = {
 // ...
 resolve: {
  alias: {
   'vue$': 'vue/dist/vue.esm.js' // 用 webpack 1 時(shí)需用 'vue/dist/vue.common.js'
  }
 }
}

UMD / CommonJS / ES Module 的區(qū)別: 你的vue用在什么地方?

  • 當(dāng)你通過(guò)script標(biāo)簽來(lái)引用vue源碼時(shí),用UMD版本
  • 當(dāng)你通過(guò)低版本的打包工具,比如webpack1,用CommonJS版本
  • 當(dāng)你通過(guò)現(xiàn)代打包工具比如 webpack 2 或 Rollup,用ES Module版本

其他

  • vue源碼會(huì)根據(jù)process.env.NODE_ENV來(lái)判斷是用生產(chǎn)還是開(kāi)發(fā)環(huán)境的代碼
  • webpack里可以有自帶的 new webpack.DefinePlugin()來(lái)設(shè)置process.env.NODE_ENV

類(lèi)似這樣

  new webpack.DefinePlugin({
   'process.env': env
  }),

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

相關(guān)文章

  • 詳解vue-cli項(xiàng)目開(kāi)發(fā)/生產(chǎn)環(huán)境代理實(shí)現(xiàn)跨域請(qǐng)求

    詳解vue-cli項(xiàng)目開(kāi)發(fā)/生產(chǎn)環(huán)境代理實(shí)現(xiàn)跨域請(qǐng)求

    這篇文章主要介紹了詳解vue-cli項(xiàng)目開(kāi)發(fā)/生產(chǎn)環(huán)境代理實(shí)現(xiàn)跨域請(qǐng)求,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-07-07
  • vue中插槽整理及用法分析

    vue中插槽整理及用法分析

    在本篇文章里小編給大家整理的是一篇關(guān)于vue中插槽整理及用法分析內(nèi)容,對(duì)此有興趣的朋友們可以跟著學(xué)習(xí)下。
    2021-12-12
  • vue打印插件vue-print-nb的實(shí)現(xiàn)代碼

    vue打印插件vue-print-nb的實(shí)現(xiàn)代碼

    這篇文章主要介紹了vue打印插件vue-print-nb的實(shí)現(xiàn),需要引入插件npm install vue-print-nb --save,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-03-03
  • 詳解vuex 漸進(jìn)式教程實(shí)例代碼

    詳解vuex 漸進(jìn)式教程實(shí)例代碼

    Vuex 是一個(gè)專(zhuān)為 Vue.js 應(yīng)用程序開(kāi)發(fā)的狀態(tài)管理模式。通過(guò)本文給大家分享vuex 漸進(jìn)式教程實(shí)例代碼,從入門(mén)級(jí)帶你慢慢深入使用vuex,感興趣的朋友一起看看吧
    2018-11-11
  • vue3組件的掛載更新流程詳解

    vue3組件的掛載更新流程詳解

    這篇文章主要介紹了vue3組件的掛載更新流程,文中通過(guò)代碼示例給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下
    2024-02-02
  • Vue ElementUI this.$confirm async await封裝方式

    Vue ElementUI this.$confirm async await封

    這篇文章主要介紹了Vue ElementUI this.$confirm async await封裝方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-09-09
  • Vue3學(xué)習(xí)之表單的使用示例詳解

    Vue3學(xué)習(xí)之表單的使用示例詳解

    這篇文章主要為大家詳細(xì)介紹了Vue3中表單的使用的相關(guān)知識(shí),文中的示例代碼講解詳細(xì),對(duì)我們掌握Vue3有一定的幫助,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2022-12-12
  • Vue結(jié)合openlayers按照經(jīng)緯度坐標(biāo)實(shí)現(xiàn)錨地標(biāo)記及繪制多邊形區(qū)域

    Vue結(jié)合openlayers按照經(jīng)緯度坐標(biāo)實(shí)現(xiàn)錨地標(biāo)記及繪制多邊形區(qū)域

    OpenLayers是一個(gè)用于開(kāi)發(fā)WebGIS客戶端的JavaScript包,最初基于BSD許可發(fā)行。OpenLayers是一個(gè)開(kāi)源的項(xiàng)目,其設(shè)計(jì)之意是為互聯(lián)網(wǎng)客戶端提供強(qiáng)大的地圖展示功能,包括地圖數(shù)據(jù)顯示與相關(guān)操作,并具有靈活的擴(kuò)展機(jī)制
    2022-09-09
  • Vue+ECharts+高德地圖API實(shí)現(xiàn)天氣預(yù)報(bào)數(shù)據(jù)可視化的教程

    Vue+ECharts+高德地圖API實(shí)現(xiàn)天氣預(yù)報(bào)數(shù)據(jù)可視化的教程

    所謂數(shù)據(jù)可視化,我們可以理解為從宏觀角度來(lái)看一眼就能看出來(lái)整個(gè)數(shù)據(jù)的占比,走向,對(duì)于數(shù)據(jù)可視化,很多互聯(lián)網(wǎng)公司是很看重這一塊的,包括大廠,本就將給大家介紹如何通過(guò)Vue+ECharts+高德地圖API實(shí)現(xiàn)天氣預(yù)報(bào)數(shù)據(jù)可視化
    2023-06-06
  • vue data中如何獲取使用store中的變量

    vue data中如何獲取使用store中的變量

    這篇文章主要介紹了vue data中如何獲取使用store中的變量,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-03-03

最新評(píng)論