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

詳解Vue-cli中的靜態(tài)資源管理(src/assets和static/的區(qū)別)

 更新時(shí)間:2018年06月19日 14:44:41   作者:R-H-R  
這篇文章主要介紹了Vue-cli中的靜態(tài)資源管理(src/assets和static/的區(qū)別,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧

你可能注意到了我們的靜態(tài)資源共有兩個(gè)目錄src/assets和static/,你們它們之間有怎樣的區(qū)別呢?

資源打包

為了回答這個(gè)問題,我們需要了解webpack是如何處理靜態(tài)資源的。在所有的*.vue文件中你所有的templates 和CSS 都被vue-html-loader 和css-loader 查詢資源的URLs解析. 比如說, 在 img src=”./logo.png” 和background: url(./logo.png) 中./logo.png是一個(gè)相對(duì)資源路徑,并且會(huì)被Webpack視為一個(gè)模塊依賴來解析。

因?yàn)?/logo.png并非一個(gè)Javascript,當(dāng)將它作為模塊依賴對(duì)待時(shí),我們需要用url-loader和file-loader去處理它。這種公式化處理早已經(jīng)為你配置了loader,所以你基本上可以獲得諸如文件名指紋和有條件的內(nèi)嵌base64,因此你能夠使用相對(duì)/模塊路徑而不必?fù)?dān)心部署問題。

自從這些資源可以在build期間被內(nèi)聯(lián)/復(fù)制/重命名,它們本質(zhì)上來講是你資源代碼的一部分。這就是為什么它們被推薦用于延源資源替換Webpack-processed的內(nèi)部/src資源。事實(shí)上,你甚至不必將它們放進(jìn)/src/assets:你可以基于模塊/組件去組織它們并使用,你可以將每一個(gè)組件放進(jìn)他們自己的文件夾,隨著它的靜態(tài)文件正確的緊挨著它。

資源決定規(guī)則

  1. 相對(duì)URLs, 例如 ./assets/logo.png 將會(huì)被解釋為一個(gè)模塊依賴. 它們將會(huì)被替換為基于你Webpack輸出配置自動(dòng)生成的 URL
  2. 無前綴URLs, 例如. assets/logo.png 將會(huì)被像相對(duì)URLs一樣處理并將被轉(zhuǎn)化為 ./assets/logo.png.
  3. 帶~前綴的URLs 將會(huì)被看做模塊請(qǐng)求, 類似于請(qǐng)求(‘some-module/image.png'). 如果你想改變Webpack的模塊解決配置你需要使用這個(gè)前綴 。例如,你需要處理資源的別名,你需要使用 ~assets/logo.png去確保這個(gè)別名時(shí)受到重視的.
  4. 特權(quán)相對(duì)URLs, 例如 /assets/logo.png 是完全不作處理的.

在Javascript中獲取資源路徑

為了使Webpack可以正確返回資源路徑, 你需要使用 require(‘./relative/path/to/file.jpg'), 它將會(huì)被file-loader處理 and returns并返回處理過的URL. 例如:

computed: {
 background () {
 return require('./bgs/' + this.id + '.jpg')
 }
}

注意上例將會(huì)包含每個(gè)在最后一次build中的./bgs/ 下的圖片。 這是由于 Webpack 無法推測(cè)它們哪個(gè)會(huì)在運(yùn)行時(shí)被使用, 因此會(huì)包含所有圖片.

“真正”的靜態(tài)資源

對(duì)比而言, static/ 中的文件是完全不被Webpack處理的,它們被以相同的文件名直接被復(fù)制進(jìn)最終目標(biāo)as-is.你務(wù)必要使用絕對(duì)路徑去引用它們.這是由config.js加入build.assetspublicpath和build.assetssubdirectory確定。

如下是一個(gè)含默認(rèn)值得例子:

// config/index.js
module.exports = {
 // ...
 build: {
 assetsPublicPath: '/',
 assetsSubDirectory: 'static'
 }
}

任何在 static/ 中的文件都需要被使用絕對(duì)路徑 /static/[filename]來引用. 如果你改變assetSubDirectory 為assets, 那么這些 URLs將需要被替換為 /assets/[filename].

譯自:http://vuejs-templates.github.io/webpack/static.html

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

相關(guān)文章

  • 利用Vue.js+Node.js+MongoDB實(shí)現(xiàn)一個(gè)博客系統(tǒng)(附源碼)

    利用Vue.js+Node.js+MongoDB實(shí)現(xiàn)一個(gè)博客系統(tǒng)(附源碼)

    本文主要介紹了利用Vue.js+Node.js+MongoDB實(shí)現(xiàn)一個(gè)博客系統(tǒng),這個(gè)博客使用Vue做前端框架,Node+express做后端,數(shù)據(jù)庫(kù)使用的是MongoDB。實(shí)現(xiàn)了用戶注冊(cè)、用戶登錄、博客管理、文章編輯、標(biāo)簽分類等功能,需要的朋友可以參考學(xué)習(xí)。
    2017-04-04
  • vue el-table實(shí)現(xiàn)自定義表頭

    vue el-table實(shí)現(xiàn)自定義表頭

    這篇文章主要為大家詳細(xì)介紹了vue el-table實(shí)現(xiàn)自定義表頭,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-12-12
  • vue拖拽組件 vuedraggable API options實(shí)現(xiàn)盒子之間相互拖拽排序

    vue拖拽組件 vuedraggable API options實(shí)現(xiàn)盒子之間相互拖拽排序

    這篇文章主要介紹了vue拖拽組件 vuedraggable API options實(shí)現(xiàn)盒子之間相互拖拽排序克隆clone,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-07-07
  • vue中this.$router.push()路由傳值和獲取的兩種常見方法匯總

    vue中this.$router.push()路由傳值和獲取的兩種常見方法匯總

    這篇文章主要介紹了vue中this.$router.push()路由傳值和獲取的兩種常見方法,本文結(jié)合示例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-12-12
  • VueCli3構(gòu)建TS項(xiàng)目的方法步驟

    VueCli3構(gòu)建TS項(xiàng)目的方法步驟

    這篇文章主要介紹了VueCli3構(gòu)建TS項(xiàng)目的方法步驟,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-11-11
  • vue自定義指令實(shí)現(xiàn)僅支持輸入數(shù)字和浮點(diǎn)型的示例

    vue自定義指令實(shí)現(xiàn)僅支持輸入數(shù)字和浮點(diǎn)型的示例

    今天小編就為大家分享一篇vue自定義指令實(shí)現(xiàn)僅支持輸入數(shù)字和浮點(diǎn)型的示例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2019-10-10
  • vue2.0/3.0中provide和inject的用法示例

    vue2.0/3.0中provide和inject的用法示例

    provide和inject是成對(duì)出現(xiàn)的,主要用于父組件向子孫組件傳遞數(shù)據(jù),這篇文章主要給大家介紹了關(guān)于vue2.0/3.0中provide和inject用法的相關(guān)資料,需要的朋友可以參考下
    2021-09-09
  • Vue使用Swiper封裝輪播圖組件的方法詳解

    Vue使用Swiper封裝輪播圖組件的方法詳解

    Swiper是一個(gè)很常用的用于實(shí)現(xiàn)各種滑動(dòng)效果的插件,PC端和移動(dòng)端都能很好的適配。本文將利用Swiper實(shí)現(xiàn)封裝輪播圖組件,感興趣的可以了解一下
    2022-09-09
  • vue?cli+axios踩坑記錄+攔截器使用方式,代理跨域proxy

    vue?cli+axios踩坑記錄+攔截器使用方式,代理跨域proxy

    這篇文章主要介紹了vue?cli+axios踩坑記錄+攔截器使用方式,代理跨域proxy,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-04-04
  • vue中v-for加載本地靜態(tài)圖片方法

    vue中v-for加載本地靜態(tài)圖片方法

    下面小編就為大家分享一篇vue中v-for加載本地靜態(tài)圖片方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2018-03-03

最新評(píng)論

蓬溪县| 筠连县| 廊坊市| 兴文县| 陇西县| 东台市| 鄯善县| 五寨县| 松溪县| 儋州市| 松桃| 泗洪县| 宁武县| 宁夏| 鲁甸县| 岳普湖县| 双流县| 民县| 咸丰县| 红安县| 遂宁市| 金华市| 兰西县| 蒲城县| 银川市| 临沧市| 云和县| 疏勒县| 璧山县| 恩施市| 礼泉县| 钟山县| 清远市| 安溪县| 朝阳市| 肥乡县| 嘉荫县| 灵山县| 清流县| 昌江| 嘉定区|