vue 轉為靜態html,Vue CLI 3使用:HTML和靜態資源(五)

HTML

public/index.html 文件是一個會被 html-webpack-plugin 處理的模板。構建中,各種資源路徑會被注入解析。可以使用 lodash template 語法插入內容。

用來做不轉義插值;

用來做 HTML 轉義插值;

用來描述 JavaScript 流程控制。

除了被 html-webpack-plugin 暴露的默認值之外,所有客戶端環境變量也可以直接使用。例如,BASE_URL 的用法:

Preload和Prefetch

頁面加載的過程中,在瀏覽器開始主體渲染之前加載

頁面加載完成后,利用空閑時間提前加載。

這些屬性會被 @vue/preload-webpack-plugin 注入,并且可以通過 chainWebpack 的 config.plugin('preload/prefetch') 進行修改和刪除。

// vue.config.js

module.exports = {

chainWebpack: config => {

// 移除 prefetch 插件

config.plugins.delete('prefetch')

// 或者

// 修改它的選項:

config.plugin('prefetch').tap(options => {

options[0].fileBlacklist = options[0].fileBlacklist || []

options[0].fileBlacklist.push(/myasyncRoute(.)+?\.js$/)

return options

})

}

}

處理靜態資源

靜態資源可以通過兩種方式進行處理:

在 JavaScript 被導入或在 template/CSS 中通過相對路徑被引用。這類引用會被 webpack 處理。

放置在 public 目錄下或通過絕對路徑被引用。這類資源將會直接被拷貝,而不會經過 webpack 的處理。

相對路徑

當你在 JavaScript、CSS 或 *.vue 文件中使用相對路徑 (必須以 . 開頭) 引用一個靜態資源時,該資源將會被包含進入 webpack 的依賴圖中。在其編譯過程中,所有諸如 ...、background: url(...) 和 CSS @import 的資源 URL 都會被解析為一個模塊依賴。

例如,url(./image.png) 會被翻譯為 require('./image.png'),而:

image.png

將會被編譯到:

h('img', { attrs: { src: require('./image.png') }})

在其內部,我們通過 file-loader 用版本哈希值和正確的公共基礎路徑來決定最終的文件路徑,再用 url-loader 將小于 4kb 的資源內聯,以減少 HTTP 請求的數量。

你可以通過 chainWebpack 調整內聯文件的大小限制。例如,下列代碼會將其限制設置為 10kb:

// vue.config.js

module.exports = {

chainWebpack: config => {

config.module

.rule('images')

.use('url-loader')

.loader('url-loader')

.tap(options => Object.assign(options, { limit: 10240 }))

}

}

URL 轉換規則

絕對路徑 (例如 /images/foo.png),將會被保留不變。

以 . 開頭,它會作為一個相對模塊請求被解釋且基于你的文件系統中的目錄結構進行解析。

以 ~ 開頭,其后的任何內容都會作為一個模塊請求被解析。這意味著你甚至可以引用 Node 模塊中的資源。

以 @ 開頭,它也會作為一個模塊請求被解析。它的用處在于 Vue CLI 默認會設置一個指向 /src 的別名 @。(僅作用于模版中)

public 文件夾

任何放置在 public 文件夾的靜態資源都會被簡單的復制,而不經過 webpack。你需要通過絕對路徑來引用它們。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/397822.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/397822.shtml
英文地址,請注明出處:http://en.pswp.cn/news/397822.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

animate css3 應用的借鑒,一個同事寫的JS

$("#banner").height($(window).height()-125);$(window).resize(function(){ $("#banner").height($(window).height()-125);}); //首頁幻燈$(".indeximgs:first").show();var i0;$(".leftbut").click(function(){$(".indexim…

從html導出帶樣式的excel,Jquery導出帶樣式的Excel

工作中做導出的時候,需要導出自定義的表格或嫌棄導出的Excel格式太難看了。需要設置顏色、字號大小、加粗、合并單元格等等。特性:支持過濾 某個位置支持過濾 img 標簽支持過濾 a 標簽支持過濾 input 標簽支持包含 行內樣式。HTML頁面:HTML頁…

elementui from表單提交_elementui upload與form一起提交

學生基本信息管理操作中,有照片,可以上傳也可以不上傳,在表單界面可以修改照片,el-upload控件可以帶額外參數提交,jquery的post模擬不了成表單帶文件提交的方式,因此,判斷如果有上傳文件時&…

information_schema.character_sets 學習

information_schema.character_sets 表用于查看字符集的詳細信息 1、character_sets 常用列說明: 1、character_set_name:    字符集名 2、default_collate_name:    默認排序規則   3、description:         …

asp.net mvc 用Redis實現分布式集群共享Session。

1、這兩天研究Redis搞分布式session問題,網上找的資料都是用ServiceStack.Redis來實現的,但是在做性能測試的時候發現最新的v4版本有限制每小時候最多請求6000次,因為官網開始商業化要收費了,好坑爹的說,還好我前期弄了…

如何用計算機求和,求和計算器

求和計算器您可以使用此求和計算器快速計算預定范圍內某個表達式的序列之和。如何使用求和計算器輸入總和的表達式輸入上限和下限提供表達式中使用的變量的詳細信息單擊“計算”按鈕生成結果。求和Σ符號計算器k ∑n 0變量:nixyzabc 103740支持的運算符常量和函數算術運算符加“…

Zookeeper概述、特點、數據模型

Zookeeper1.Zookeeper概述Zookeeper是一個工具,可以實現集群中的分布式協調服務。所謂的分布式協調服務,就是在集群的節點中進行可靠的消息傳遞,來協調集群的工作。Zookeeper之所以能夠實現分布式協調服務,靠的就是它能夠保證分布…

云計算機創意名,有創意的道路名字推薦,分享一些好聽有內涵的路名

提到龍崗板塊,“風向”一直飄忽不定。原本地鐵4號線今年通車,但是因為五象火車站的規劃建設,暫時未開通;機場線已經敲定,然而沒有龍崗的份…… [本文來自:www.777y.com]雖然機場線暫時無緣(可以期待下),但是…

250W電源帶i7+GTX1080?

電源的科學: Q1:電源的額定功率是什么?峰值功率又是什么?A1:電源的額定功率就是電源正常工作時的功率,它的值為用電器的額定電壓乘以額定電流。而峰值功率指的是電源短時間內能達到的最大功率, 一般情況下電…

uml里的extend和include_用例圖中包含(include)擴展(extend)和泛化(generalization)關系詳解...

標簽:uml用例圖是解決用戶需求的圖,畫好用例圖一定要理清用例之間的關系。用例之間有三種關系:包含(include)擴展(extend)和泛化(generalization)。下面介紹三者的相同點和不同點以便區分:相同點: 三者都是從現有的用例…

數據庫的數據類型及運算符

一、數據類型 1、整數類形: (重點記憶,常用)有符號整形:int--每個int類型的數據按4個字節存儲,其中1位表示整數值的正負號,其他31位表示整數值長度和大小; 大整形:bigint…

浙江大學計算機博士很難復試專業課,浙江大學計算機學院2020年博士研究生招生復試公告...

一、復試資格通過計算機學院博士生材料初審的考生獲得復試資格,名單見附件。二、復試內容和成績組成博士研究生的復試內容主要包括對考生思想政治素質和品德、學術水平考核。1. 思想政治素質和道德品質考核思想政治素質和品德考核是博士研究生招生復試的…

推薦幾款熱門的敏捷開發工具

不知道有多少企業在很好的應用敏捷模式; 在今天的文章中,我們將一同了解更多有趣、高效且面向敏捷的項目管理工具。 Atlassian Jira/ Jira Agile   Atlassian的Jira是一款熱門工具,用于追蹤產品開發、幫助團隊組織問題、分配工作并保證團隊…

語言語法糖_【c#】幾種常用語法糖

語法糖(syntactic sugar)是由英國計算機科學家Peter J. Landin發明的術語,指計算機語言中添加的某種語法。這種語法不影響語言的功能,但更方便使用。在開發中使用語法糖能夠讓程序變得更短,使看起來更美觀些~空檢查pub…

CodeForces 696B Puzzles

思維,簡單樹$dp$。 首先計算出每一個子樹包含多少個節點,記為$f[i]$。然后就可以從$root$開始推出所有節點的期望了。 現在已知$fa$節點的答案為$ans[fa]$,假設要計算$fa$的一個兒子$v$的期望,那么$ans[v]ans[fa]1.0(f[fa]-f[v]-1…

2018清華計算機類專業錄取分數線,清華大學2018年各省錄取分數線及各專業錄取分數線 - 高教網...

【一批錄取分數線】港澳臺聯招:630分安徽:理科689分;文科675分;理科定向683分北京:理科694分;文科677分福建:理科681分;文科650分甘肅:理科652分;文科637分廣…

ASP.NET 對類進行XML序列化和反序列化

1 序列化方法 public void SerializeObject<T>(string Xmlname,T t){XmlSerializer ser new XmlSerializer(typeof(T));TextWriter writer new StreamWriter(Xmlname);ser.Serialize(writer, t);//要序列化的對象writer.Close();} 2 序列化方法的使用 NodeConfigInfo n…

python100內3整除while_python-循環語句-習題及答案-for-while

for 變量 in range(起始&#xff0c;終止&#xff0c;步長):循環體變量 起始while 終止條件(bool):循環體步長break continue1. 盈盈為了考驗令狐沖奪冠的決心&#xff0c;要他說一百遍“我能行&#xff01;”# for i in range(0,100,1):# print("我能行")2.本金100…

怎么用計算機連接電視,電腦怎么連接電視 詳細步驟【圖文】

現在一般的LED電視機都有連接電腦的功能&#xff0c;如何讓電腦連接電視&#xff0c;讓電視的大屏幕成為電腦的顯示器呢?下面給大家說明電腦連接電視詳細步驟!電腦連接電視步驟&#xff1a;1 電腦連接電視所需的接口及連接線我們先來介紹一下&#xff0c;電視上需要的接口&…

PC-CSS-多瀏覽器支持HTML5

非IE:article, section, aside, hgroup, nav, header, footer, figure, figcaption {display: block;}IE&#xff1a;<script>document.createElement(‘article’);document.createElement(‘section’);document.createElement(‘aside’);document.createElement(‘hg…