国产99久久精品_欧美日本韩国一区二区_激情小说综合网_欧美一级二级视频_午夜av电影_日本久久精品视频

最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
當前位置: 首頁 - 科技 - 知識百科 - 正文

在vue中靜態資源如何打包

來源:懂視網 責編:小采 時間:2020-11-27 19:39:47
文檔

在vue中靜態資源如何打包

在vue中靜態資源如何打包:本篇文章主要介紹了詳解vue靜態資源打包中的坑與解決方案,本文主要解決路徑問題,現在分享給大家,也給大家做個參考。本文主要解決①.vue-cli默認配置打包后部署至特定路徑下靜態資源路徑錯誤問題;②.靜態資源打包使用相對路徑后css文件引入大圖片路徑錯誤問
推薦度:
導讀在vue中靜態資源如何打包:本篇文章主要介紹了詳解vue靜態資源打包中的坑與解決方案,本文主要解決路徑問題,現在分享給大家,也給大家做個參考。本文主要解決①.vue-cli默認配置打包后部署至特定路徑下靜態資源路徑錯誤問題;②.靜態資源打包使用相對路徑后css文件引入大圖片路徑錯誤問

本篇文章主要介紹了詳解vue靜態資源打包中的坑與解決方案,本文主要解決路徑問題,現在分享給大家,也給大家做個參考。

本文主要解決

①.vue-cli默認配置打包后部署至特定路徑下靜態資源路徑錯誤問題;

②.靜態資源打包使用相對路徑后css文件引入大圖片路徑錯誤問題。

1、問題

vue-cli 腳手架生成的默認打包配置文件情況下運行 npm run build 打包后,部署項目至特定路徑下:如:

//ip:port/public/springActivity/

此時訪問:

http://ip:port/public/springActivity/index.html

index.html 可以正常訪問,但是引用的js,css等文件服務器響應均為404,查看引入的資源路徑如下:

http://ip:port/static/css/app.cea072cd24c0d7a5c4b9b7afc7ff.css
http://ip:port/static/js/app.815851e87b083afb82bf.js

2、分析

由上可以看出是資源打包路徑有誤,打包后的資源使用了絕對根目錄路徑,因此將項目部署到特定目錄下,其引入的資源路徑無法被正確解析。

3、解決

在打包時需要使用相對路徑來處理靜態資源,更改build中資源發布路徑配置(config/index.js, build對象):

將 assetsPublicPath: '/' 改為 assetsPublicPath: './',
再次打包,并將資源部署到特定路徑下,然后訪問:

此時index.html可以正常訪問,同時js和css資源也可以正常訪問,但是css中引入的assets目錄下的大圖片資源出錯了(服務端404)

4. 再分析

查看引入的圖片資源路徑如下:

http://ip:port/public/springActivity/static/css/static/img/question_bg.61a2825.png

實際項目中資源路徑如下:

index.html
static/
 |--js/
 |--*.js
 |--css/
 |--*.css
 |--img/
 |--*.png

很明顯圖片引入路徑有誤。分析圖片引入路徑,發現路徑均多了"/static/css"兩層目錄,猜測是css目錄下的css文件引入圖片路徑為"/static/img/question_bg.61a2825.png" , 查看css文件,css中引入圖片路徑如下:

background:url(static/img/question_bg.61a2825.png)

5、在解決

css文件中路徑存在問題,肯定又是打包哪個環節資源路徑沒有配置好,分析打包過程,css是在js中引入的或是寫在vue文件中的,css文件首先被less,postcss等處理,處理后會被ExtractTextPlugin處理,ExtractTextPlugin將js中的css全部抽離至app.css文件中。

首先將options.extract設為false,關閉抽離css功能,再次打包并部署至特定目錄,訪問:http://ip:port/public/springActivity/index.html, 啪,頁面正常顯示,大公即將告成。

分析打包后的文件,發現沒有了css文件,發現css文件全部在app.js文件中;通過js將css注入 index.html文件中,因此css文件中引入的圖片資源路徑應該是相對于index.html文件路徑的,即:"static/img/question_bg.61a2825.png",這與下面css文件中的圖片資源路徑一致,因此圖片能夠被正常訪問。

background:url(static/img/question_bg.61a2825.png)
現在很確定知道問題出在哪了,即:ExtractTextPlugin抽離css文件時沒有轉換資源引入路徑,導致app.css引入了相對app.css目錄為"static/img/ .png"的靜態資源,該路徑相對index.html即為:static/css/static/img/ .png。

因此使用ExtractTextPlugin插件時還需要配置靜態資源路徑參數,通過查詢資料,得知可以通過添加publicPath:"../../"解決該問題:

if (options.extract) {
 return ExtractTextPlugin.extract({
 use: loaders,
 fallback: 'vue-style-loader',
 publicPath:"../../" //添加
 })
}

打包部署到特定目錄下后訪問index.html文件,頁面一切正常,app.css文件正常引入,圖片資源也正常引入,查看app.css文件引入圖片資源方式如下:

background:url(../../static/img/question_bg.61a2825.png

publicPath配置后,css文件中引入的圖片文件路徑前添加了該路徑配置;

publicPath 屬性值為打包后的 app.css文件至index.html文件的相對路徑

圖片資源也可以直接放在vue-cli生成的static目錄下規避上述問題,但是通過這種方式圖片名稱中無法增加md5字符串,不利于版本控制

上面是我整理給大家的,希望今后會對大家有幫助。

相關文章:

在jQuery中實現碰到邊緣反彈的動畫效果該如何做?

在vue cli webpack中如何使用sass(詳細教程)

在jQuery中如何改變P標簽文本值

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文檔

在vue中靜態資源如何打包

在vue中靜態資源如何打包:本篇文章主要介紹了詳解vue靜態資源打包中的坑與解決方案,本文主要解決路徑問題,現在分享給大家,也給大家做個參考。本文主要解決①.vue-cli默認配置打包后部署至特定路徑下靜態資源路徑錯誤問題;②.靜態資源打包使用相對路徑后css文件引入大圖片路徑錯誤問
推薦度:
標簽: 資源 文件 打包
  • 熱門焦點

最新推薦

猜你喜歡

熱門推薦

專題
Top
主站蜘蛛池模板: 日韩欧美三区 | 国产a久久精品一区二区三区 | 亚洲国产成人久久综合一 | 国产不卡视频在线播放 | 日韩欧美专区 | 欧美1区二区三区公司 | 久久免费视频观看 | 亚洲欧美日韩综合精品网 | 日韩性视频 | 国产精品免费看 | 国产成人精品一区二区三区 | 日本孕妇与黑人xxxxxx | 亚洲综合色婷婷 | 欧美激情视频一区二区三区 | 欧美色第一页 | 欧美在线精品一区二区三区 | 一边摸一边爽一边叫床免费视频 | 国产成人精品曰本亚洲 | 欧美日韩国产精品综合 | 久久伊人在 | 99久久综合国产精品免费 | 又黄又爽无遮挡免费视频 | 亚洲国产欧美另类 | 久久成人国产 | 亚洲国产成人综合精品2020 | 欧美国产一区二区三区 | 91导航在线观看 | 国产日产高清欧美一区二区三区 | 国产精品免费大片一区二区 | 精品日韩欧美一区二区三区 | 亚洲 欧美 91 | 久操视频免费在线观看 | 久久精品国产亚洲a不卡 | 国产第八页| 国产精品一区久久 | 在线精品欧美日韩 | 国产精彩视频 | 日韩在线免费视频观看 | 欧美极品在线播放 | 国产成人精品免费视频大全五级 | 国产伦精品一区二区三区免费下载 |