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

首頁 > 編程 > JavaScript > 正文

解析Vue2 dist 目錄下各個(gè)文件的區(qū)別

2019-11-19 14:52:47
字體:
供稿:網(wǎng)友

vue2 經(jīng)過 2.2 版本升級后, 文件變成了 8 個(gè):

  1. vue.common.js
  2. vue.esm.js
  3. vue.js
  4. vue.min.js
  5. vue.runtime.common.js
  6. vue.runtime.esm.js
  7. vue.runtime.js
  8. vue.runtime.min.js

瞬間就懵逼了, 這些文件該怎么選?

下面就來說下, 這 8 個(gè)作用都用在什么場景, 有什么區(qū)別

按照構(gòu)建方式分, 可以分成 完整構(gòu)建(包含獨(dú)立構(gòu)建和運(yùn)行時(shí)構(gòu)建) 和 運(yùn)行時(shí)構(gòu)建

按照規(guī)范分, 可以分成 UMD, CommonJS 和 ES Module

簡單來說, 完整構(gòu)建 和 運(yùn)行時(shí)構(gòu)建的區(qū)別就是, 可不可以用template選項(xiàng), 和文件大一點(diǎn),小一點(diǎn)

vue.common.js

屬于: 基于 CommonJS 的完整構(gòu)建

可以用于 Webpack-1 和 Browserify 之類打包工具

因?yàn)槭峭暾麡?gòu)建, 所以可以使用template選項(xiàng), 如:

import Vue from 'vue'new Vue({ template: `  <div id="app">   <h1>Basic</h1>  </div> `}).$mount('#app')

注意: 用 webpack-1 之類打包工具時(shí), 使用該版本, 需要配置別名, 以 webpack 為例:

{ resolve: {  alias: {   'vue$': 'vue/dist/vue.common.js'  } }}

vue.esm.js

屬于: 基于 ES Module 的完整構(gòu)建

可以用于 Webpack-2 和 rollup 之類打包工具

因?yàn)槭峭暾麡?gòu)建, 所以可以使用template選項(xiàng), 如:

import Vue from 'vue'new Vue({ template: `  <div id="app">   <h1>Basic</h1>  </div> `}).$mount('#app')

注意: 用 webpack-2 之類打包工具時(shí), 使用該版本, 需要配置別名, 以 webpack 為例:

{ resolve: {  alias: {   'vue$': 'vue.esm.js'  } }}

vue.js

屬于: 基于 UMD 的完整構(gòu)建

可以用于直接 CDN 引用

因?yàn)槭峭暾麡?gòu)建, 所以可以使用template選項(xiàng), 如:

<script src="https://unkpg.com/vue/dist/vue.js"></script><script>new Vue({ template: `  <div id="app">   <h1>Hi Vue</h1>  </div> `}).$mount('#app')</script>

vue.min.js

和 vue.js 一樣, 屬于壓縮后版本

vue.runtime.common.js

屬于: 基于 CommonJS 的運(yùn)行時(shí)構(gòu)建

可以用于 Webpack-1 和 Browserify 之類打包工具

運(yùn)行時(shí)構(gòu)建不包含模板編譯器,因此不支持template選項(xiàng),只能用render選項(xiàng),但即使使用運(yùn)行時(shí)構(gòu)建,在單文件組件中也依然可以寫模板,因?yàn)閱挝募M件的模板會(huì)在構(gòu)建時(shí)預(yù)編譯為render函數(shù), render函數(shù)的使用, 請參考: http://cn.vuejs.org/v2/guide/render-function.html

import Vue from 'vue'new Vue({ render: function(h){  return h('h1', 'Hi Vue') }}).$mount('#app')

vue.runtime.esm.js

屬于: 基于 ES Module 的運(yùn)行時(shí)構(gòu)建

可以用于 Webpack-2 和 rollup 之類打包工具

運(yùn)行時(shí)構(gòu)建不包含模板編譯器,因此不支持template選項(xiàng),只能用render選項(xiàng),但即使使用運(yùn)行時(shí)構(gòu)建,在單文件組件中也依然可以寫模板,因?yàn)閱挝募M件的模板會(huì)在構(gòu)建時(shí)預(yù)編譯為render函數(shù), render函數(shù)的使用, 請參考: http://cn.vuejs.org/v2/guide/render-function.html

import Vue from 'vue'new Vue({ render: function(h){  return h('h1', 'Hi Vue') }}).$mount('#app')

vue.runtime.js

屬于: 基于 UMD 的運(yùn)行時(shí)構(gòu)建

可以用于直接 CDN 引用

該版本和vue.js類似, 可以用于直接 CDN 引用, 因?yàn)椴话幾g器, 所以不能使用template選項(xiàng), 只能使用render函數(shù)

<script src="https://unkpg.com/vue/dist/vue.runtime.js"></script><script>new Vue({ render: function(h){  return h('h1', 'Hi Vue') }}).$mount('#app')</script>

vue.runtime.min.js

和 vue.runtime.js 一樣, 屬于壓縮后版本

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持武林網(wǎng)。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 南乐县| 什邡市| 习水县| 临漳县| 嘉义县| 太仓市| 无为县| 延安市| 安西县| 南陵县| 高淳县| 竹北市| 景洪市| 剑阁县| 中西区| 博客| 延庆县| 贵州省| 元朗区| 潼关县| 南陵县| 淅川县| 芷江| 多伦县| 三台县| 富阳市| 水富县| 田阳县| 城口县| 浏阳市| 灵宝市| 河津市| 香港| 淮安市| 贵州省| 兰溪市| 澄迈县| 天水市| 通州区| 青浦区| 德清县|