解決.vue文件url引用文件的問題
遇到的問題:
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) }
生產環境截圖:
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林網。
新聞熱點
疑難解答