1. 程式人生 > >VUE 爬坑之旅 -- 引入靜態資源的正確方式

VUE 爬坑之旅 -- 引入靜態資源的正確方式

在 Vue 專案中,靜態資原始檔有二個位置可以存放,分別為 src 裡面的 assets 資料夾和外層的 static 資料夾,從資料夾名字上面就可以大概的看出有何區別。

  • assets :資產,資源
  • static :靜態的

同樣都是放資源的位置,為什麼會有二個地方,他們之間有什麼區別呢?
在我原來的專案裡面,我都是把各種資原始檔放到 assets 裡面,這樣在打包的時候 webpack 會自動把資源給你壓縮,比如把 png 圖片壓縮成 base64 格式,當時覺得這樣好啊,自動壓縮資源,減小專案體積,好東西。

然而在今天,我的這個做法被人實力打臉了,,,
最近入職了新公司,這二天在檢視新公司專案程式碼,發現他們的各種資原始檔都是放在 static 下面的,我就去問了,為什麼不把資源放在 assets 裡面,人家告訴我的理由如下:

將資源放到 static 裡面是為了快取的需要,放在 static 裡面的檔案,瀏覽器會自動為其設定快取邏輯,在初次請求獲取到資源以後,後續再請求相同的資源就會按照瀏覽器的預設快取策略來處理,比如說如果資源沒有更新,那麼就會返回 304,瀏覽器會直接從快取裡面拿這個資源,減少了請求,這也算是專案的一個優化點。
如果是把資源放到 assets 裡面,雖然會被壓縮,但是每次請求的時候都會直接向伺服器獲取新的資原始檔,這其實是一個很大的資源浪費,所以在打包體積和重複請求數的權衡上面,我們選擇了後者。

相關推薦

VUE -- 引入靜態資源正確方式

在 Vue 專案中,靜態資原始檔有二個位置可以存放,分別為 src 裡面的 assets 資料夾和外層的 static 資料夾,從資料夾名字上面就可以大概的看出有何區別。 assets :資產,資源 static :靜態的 同樣都是放資源的位置,為什麼會有二

vue——mint-ui按需引入

今天開專案,決定使用 Vue 來進行開發,遂開始尋找 Vue 相關的 Ui 元件庫,找了一圈看下來,Github 上 star 數最高的二個分別為 Mint-ui 和 Vux,分別掃了他們的二維碼體驗了下,發現 Vux 在介面切換的時候不流暢,所以就剩下 Mint-ui 這一個選擇了。下面開始今天的

VUE -- 封裝一個簡單的獲取本地圖片並壓縮上傳的元件

平時專案開發中,獲取本地圖片並壓縮上傳是一個很常見的需求,最典型的就是修改使用者頭像功能,今天就來封裝一個可以到處通過的元件。 首先分析需求,要達到什麼效果呢? 點選後開啟檔案選擇器,選擇檔案 對獲取的圖片檔案壓縮 前端能夠預覽獲取到的圖片 將壓縮後的圖片

VUE -- vue 專案中將簡體轉換為繁體

今天接到一個需求說要將現在專案裡面的簡體文字全部轉換為繁體的,這需求手動去幹肯定不現實,必須得找一個省時省力的辦法。 Google 一圈下來,發現大部分解決方案都是好幾年前 JQuery 時代的,是不適合現在 vue 專案的。那麼有沒有 vue 專案中好用的解

VUE -- 用 Vuex 狀態管理來控制底部導航欄的顯示隱藏

在做 APP 類專案開發的時候,有一個很常見的需求就是 APP 通常有一個底部導航,點選導航的不同 tab 要切換到不同的介面,在這些通過導航切過去的介面上是需要顯示底部導航來讓使用者方便操作的。 除了這些帶導航的頁面之外,還有一些獨立的頁面是不需要底部導航的

VUE -- 在 VUE 專案中使用 ECharts 畫 K 線圖和麵積圖,並且可切換

現在的專案中需要做一個K線圖的功能,花了幾天時間查資料,讀文件,總算是基本搞定了,下面把這過程中一些需要注意的點記下來,以備不時之需。需要達到的效果如下: 說到做圖表,現在的成熟的解決方案就是百度的 ECharts 了,功能強大齊全,文件詳細,用的人多

VUE -- 從零開始一步一步構建 VUE 單頁應用(二)

上篇 從零開始一步一步構建 VUE 單頁應用(一) 對單頁應用做了簡單的介紹並建立了一個單頁應用的模版。這篇就先來看看這個專案的檔案結構,然後再看看要怎麼修改才能實現我們自己的頁面。 檔案結構 用官方的 vue-cli 生成的專案檔案結構如上圖所示

Vue --巢狀路由預設選中第一個子路由,並且主路由和子路由都處於啟用狀態

在實際開發中,巢狀路由經常會用到,基本用法也很簡單,今天要說的不是巢狀路由怎麼用,而是在用的過程中發現的二點小細節的處理。 巢狀路由中預設選中第一個子路由 在一個這樣的介面中,底部的五個 tab 顯然應該是五個路由,現在在首頁這個路由下面又有三個 tab

VUE -- v-for,v-on:click 使用需要注意的地方

今天在寫一個頁面的時候,需要在一個 v-for 迴圈裡面給每個 item 繫結一個點選事件,在這個事件中我需要拿到所點選 item 裡面的資料和它的 index。寫法如下: <div @click="chooseAddress(item,index)

Vue 路(一)—— 使用 vue-cli 搭建項目 (增補)

web http class 模板 clas ebp 搭建 com png cd 指定好安裝目錄 vue init webpack 項目名稱 執行 vue vue list 查看可應用模板 vue init webpack +名字

Vue 路(四)—— 與 Vuex 的第一次接觸

參數 之間 scrip span 變量 tle 技術分享 管理 tool 在 Vue.js 的項目中,如果項目結構簡單, 父子組件之間的數據傳遞可以使用 props 或者 $emit 等方式 http://www.cnblogs.com/wisewrong/p/62660

Vue 路(一)—— 使用 vue-cli 搭建項目

wrong run 自己 文件的 ima tca 來安 mage 前綴 vue-cli 是一個官方發布 vue.js 項目腳手架,使用 vue-cli 可以快速創建 vue 項目,GitHub地址是:https://github.com/vuejs/vue-cli 一、

Vue 路(二)—— 組件之間的數據傳遞

組件 圖片 NPU tar bubuko 9.png com clas entry Vue 的組件作用域都是孤立的,不允許在子組件的模板內直接引用父組件的數據。必須使用特定的方法才能實現組件之間的數據傳遞。 首先用 vue-cli 創建一個項目,其中 App.vue 是父組

Vue 路(三)—— 使用 vue-router 跳轉頁面

cli 分類 ace local outer log 適合 創建 start 使用 Vue.js 做項目的時候,一個頁面是由多個組件構成的,所以在跳轉頁面的時候,並不適合用傳統的 href,於是 vue-router 應運而生。 官方文檔: https://router.v

dotNet程序員的Java(一)

是我 方法 轉java 自己的 java pri 也好 工作 計劃     仔細想了下還是轉java吧,因為後期不管是留在北京也好還是回老家也好,java的工作都會好找一點。現在的工作主要還是寫.net,目標是下一次離職的時候可以找到一份全職的java工作,我一直都覺得實踐

dotNet程序員的Java(二)

模式 最好的 https servlet 很多 過濾器 () 被調用 回調   囉裏囉唆的寫了一大堆,最後還是全刪除了。哎~   言歸正傳,最近因爲發生了很多事情,所以更新的有嗲晚了,最近也一直在學習,但是感覺效率什麼的不是很高,這是不對的,反思一下,從這篇博文開始,打起精

dotNet程序員的Java(三)spring MVC篇一

www. let ref ide filter ESS pro enc require 使用maven構建springMVC項目,開發工具為IDEA 一、構建Maven項目,模板為WebApp 二、在pom文件中配置SpringMvc配置(springMvc需要以來serv

Vue 路(十二)—— vue-cli 3.x 搭建項目

cas sas 環境變量 npm pack 全局 開發模式 文件 預編譯 Vue Cli 3 官方文檔:https://cli.vuejs.org/zh/guide/ 一、安裝 @vue/cli 更新到 3.x 之後,vue-cli 的包名從 vue-cli 改

pdfjs——尋找改變dom

查詢div 找到src——display——text_layer.js中的 task文字流 task._textDivs單個div task._textDivs[0].style[1]第一個div的style中的第二個屬性 task._textDivs[0].style.ba

Vue 路 — vue-cli 3.x 搭建專案

一、安裝 @vue/cli 更新到 3.x 之後,vue-cli 的包名從vue-cli 改成了 @vue/cli 如果之前全域性安裝了舊版本的vue-cli (1.x 或 2.x),首先需要使用以下命令解除安裝掉 // 如果沒有安裝舊版本的 vue-cli 可以跳過解除安裝直接