Vue项目目录结构注解附assets与static目录的区别
?
static與assets的區(qū)別:
為了回答這個問題,我們首先需要了解Webpack如何處理靜態(tài)資產(chǎn)。在 *.vue 組件中,所有模板和CSS都會被 vue-html-loader 及 css-loader 解析,并查找資源URL。例如,在 <img src="./logo.png">
和 background: url(./logo.png) 中,"./logo.png" 是相對的資源路徑,將由Webpack解析為模塊依賴。
因為 logo.png 不是 JavaScript,當(dāng)被視為模塊依賴時,需要使用 url-loader 和 file-loader
處理它。vue-cli 的 webpack 腳手架已經(jīng)配置了這些 loader,因此可以使用相對/模塊路徑。
由于這些資源可能在構(gòu)建過程中被內(nèi)聯(lián)/復(fù)制/重命名,所以它們基本上是源代碼的一部分。這就是為什么建議將
Webpack 處理的靜態(tài)資源放在 /src 目錄中和其它源文件放一起的原因。事實上,甚至不必把它們?nèi)糠旁?/src/assets:可以用模塊/組件的組織方式來使用它們。例如,可以在每個放置組件的目錄中存放靜態(tài)資源。
"Real" Static Assets
相比之下,static/ 目錄下的文件并不會被 Webpack 處理:它們會直接被復(fù)制到最終目錄(默認是dist/static)下。必須使用絕對路徑引用這些文件,這是通過在 config.js 文件中的 build.assetsPublicPath 和 build.assetsSubDirectory 連接來確定的。
任何放在 static/ 中文件需要以絕對路徑的形式引用:/static/[filename]。如果更改 assetSubDirectory 的值為 assets,那么路徑需改為 /assets/[filename]。
總結(jié)
以上是生活随笔為你收集整理的Vue项目目录结构注解附assets与static目录的区别的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 王者荣耀夏侯惇主1还是主2
- 下一篇: 天眼查如何登录账号