<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專題視頻專題問答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 CLI3搭建的項目中路徑相關問題的解決

        來源:懂視網 責編:小采 時間:2020-11-27 22:07:31
        文檔

        Vue CLI3搭建的項目中路徑相關問題的解決

        Vue CLI3搭建的項目中路徑相關問題的解決:這是開頭 最近在試水 Vue CLI 3,并且嘗試配置一個多頁面(多應用)項目出來,期間又遇到各種路徑問題,于是...于是有了下面的嘮叨。 以下都是基于 Vue CLI 3 來舉例說明的,使用 2.x 版本的其實也類似 首先,參考 官方文檔對靜態資源處理的說明,并通過自
        推薦度:
        導讀Vue CLI3搭建的項目中路徑相關問題的解決:這是開頭 最近在試水 Vue CLI 3,并且嘗試配置一個多頁面(多應用)項目出來,期間又遇到各種路徑問題,于是...于是有了下面的嘮叨。 以下都是基于 Vue CLI 3 來舉例說明的,使用 2.x 版本的其實也類似 首先,參考 官方文檔對靜態資源處理的說明,并通過自

        大致意思就是, sass-loader 并不提供 url 的重寫,所有的 scss 文件被 sass-loader 處理成最終的 CSS 后(編譯過程中 url 不會被重寫即保持原樣),再傳遞給 css-loader 處理。也就是說,所有的 url 都是相對于輸出的!在 Vue CLI 搭建的項目中,它們都是相對于使用這些 scss 文件的 vue 文件的。對于上例,是相對于 app.vue 的,因此報錯。我們會很自然的會希望路徑的引用是相對于 scss 文件本身的,sass-loader 文檔中也給出了解決方案:

        Add the missing url rewriting using the resolve-url-loader. Place it before the sass-loader in the loader chain.
        Library authors usually provide a variable to modify the asset path. bootstrap-sass for example has an $icon-font-path. Check out this working bootstrap example.

        第一個方法:使用 resolve-url-loader 來彌補 sass-loader 缺失的 url 重寫功能,注意要放到 sass-loader 以前調用。

        第二個方法:Library 作者一般都會提供變量,用來設置資源路徑,如 bootstrap-sass 可以通過 $icon-font-path 來設置。參見this working bootstrap example。

        這樣看來解決的思路有兩種:

        1. 寫 url 的時候就寫 vue 文件相對于資源的路徑。這種方法較為暴力,當項目層級復雜了之后容易寫錯路徑(加上現有的編輯器、IDE應該認為你寫的路徑是錯誤的)。當同個 scss 文件被多個不同層級的 vue 文件引用的時候,這種暴力的方法就行不通了!
        2. 使用第三方庫補充 sass-loader 的路徑重寫功能,讓路徑的引用是相對于當前 scss 文件本身的。這個方法能較好的解決問題。

        在這里提供一下我喜歡的方法。與其考慮 讓路徑的引用是相對于 scss 文件本身 或 讓路徑直接相對于 vue 文件,我們可以換個思路,讓所有路徑都是以根目錄往下找,并讓 webpack 對路徑進行重寫,但是直接用 /src/ 這種絕對路徑的寫法會讓這些資源不被 webpack 打包。在前文提及到的,webpack 有個強大的機制,也就是 ~,通過在 url 前面添加 ~ 可以告訴 webpack 要把它當做一個模塊來處理,也就是會被 webpack 打包。配合 webpack 提供的別名 @(/src),我們可以對上例做修改:

        // iconfont.scss
        @font-face {
         font-family: "iconfont";
         src: url("~@/assets/fonts/iconfont.eot");
         ...
        }
        

        這樣子,通過 webpack 對模塊的處理,可以正確通過編譯!這樣做的好處是可大大避免書寫相對路徑可能產生的錯誤,每次只需“無腦”從根目錄往下找就是了,又可以減小依賴、減少配置項。

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

        文檔

        Vue CLI3搭建的項目中路徑相關問題的解決

        Vue CLI3搭建的項目中路徑相關問題的解決:這是開頭 最近在試水 Vue CLI 3,并且嘗試配置一個多頁面(多應用)項目出來,期間又遇到各種路徑問題,于是...于是有了下面的嘮叨。 以下都是基于 Vue CLI 3 來舉例說明的,使用 2.x 版本的其實也類似 首先,參考 官方文檔對靜態資源處理的說明,并通過自
        推薦度:
        標簽: VUE 問題 的項目
        • 熱門焦點

        最新推薦

        猜你喜歡

        熱門推薦

        專題
        Top
        主站蜘蛛池模板: 一级毛片不卡片免费观看| 一个人免费观看视频在线中文| 久久国产精品2020免费m3u8| 精品国产亚洲男女在线线电影| 伊人久久国产免费观看视频| 亚洲欧洲自拍拍偷精品 美利坚 | 成人免费午夜在线观看| 亚洲一区中文字幕在线观看| 国产成人精品久久免费动漫| 亚洲综合av一区二区三区不卡| 女人被弄到高潮的免费视频| 亚洲AV无码成人精品区日韩| 免费大片在线观看网站| 一级黄色免费网站| 亚洲国产精品一区二区久久hs| 玖玖在线免费视频| 亚洲av永久无码精品天堂久久| 免费无码黄网站在线观看| 特黄特色大片免费| 国产亚洲3p无码一区二区| 久久国产色AV免费看| 狠狠色伊人亚洲综合网站色| 国产性生交xxxxx免费| 国产无遮挡无码视频免费软件 | 亚洲成A∨人片天堂网无码| 人碰人碰人成人免费视频| 无码欧精品亚洲日韩一区| 在线a级毛片免费视频| 男男gay做爽爽免费视频| 亚洲av中文无码乱人伦在线咪咕| 日本高清在线免费| 美女羞羞视频免费网站| 亚洲av午夜福利精品一区| 成人免费福利电影| 成在人线av无码免费高潮水 | 美景之屋4在线未删减免费| 亚洲∧v久久久无码精品| 四虎在线免费播放| 久久精品成人免费观看| 亚洲欧美第一成人网站7777| 亚洲大尺度无码无码专区|