您好,登錄后才能下訂單哦!
小編給大家分享一下怎么解決.vue文件url引用文件的問題,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!
解決.vue文件url引用文件的問題
遇到的問題:
在css中引入圖片,明明目錄結構是對的,還是This dependency was not found
;
dev
好好的,build
之后涼涼,圖片加載404
添加圖片路徑配置
webpack 添加 alias
//webpack.base.conf.js alias: { '@': resolve('src'), //加入 'assets': resolve('src/assets') }
路徑書寫規則
template
可使用@
、~
style
只能使用~
script
只能使用@
不需要經過打包的static
文件寫相對路徑
根據limit:10000
,使用兩張圖片:
<template> <div> <div> img+src:@ <img src="@/assets/images/jiaban.jpg" height="200px"> <img src="@/assets/images/cat.png" alt=""> </div> <div> img+src:~ <img src="~assets/images/jiaban.jpg" height="200px"> <img src="~assets/images/cat.png" alt=""> </div> <div> img+js(attrs): <img :src="jiaban" height="200px"> <img :src="cat" alt=""> <ul> <li>{{jiaban}}</li> <li>{{cat}}</li> </ul> </div> <div class="css-bg"> img+css(background-images): <span class="css-bg__1"></span> <span class="css-bg__2"></span> </div> <div> static: <img src="static/images/jiaban.jpg" height="200px"> <img src="static/images/cat.png" alt=""> </div> </div> </template> <script> const jiaban = require('@/assets/images/jiaban.jpg'); const cat = require('@/assets/images/cat.png'); export default { data(){ return { jiaban, cat } } } </script> <style lang="scss"> .css-bg__1, .css-bg__2{ display: inline-block; } .css-bg__1{ height: 200px; width: 173px; background-image: url(~assets/images/jiaban.jpg); background-size: contain; } .css-bg__2{ height: 49px; width: 49px; background-image: url(~assets/images/cat.png); background-size: contain; } </style>
開發環境截圖:
添加構建路徑配置
添加ExtractTextPlugin
中publicPath
配置,這里根據實際情況配:
//build/util.js // Extract CSS when that option is specified // (which is the case during production build) if (options.extract) { return ExtractTextPlugin.extract({ use: loaders, fallback: 'vue-style-loader', publicPath: '../../', }) } else { return ['vue-style-loader'].concat(loaders) }
生產環境截圖:
看完了這篇文章,相信你對“怎么解決.vue文件url引用文件的問題”有了一定的了解,如果想了解更多相關知識,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。