初學vue,在項目中引入公共css樣式的時候發現在index.html頁面直接使用 <link rel="stylesheet" type="text/css" href="./src/css/index.css"> 引入樣式是無效的,通過查閱資料得知這麼引入需要css文件在static文件夾下(具體原因我也不清楚,百度有說config文件中index.js文件的 assetsSubDirectory: 'static', 參數決定的),那麼問題來了,引入公共樣式應該怎麼引入呢?
項目文件:
第一種方式:
css樣式在static文件夾下,在index.html中直接<link rel="stylesheet" type="text/css" href="./src/css/index.css">引入第二種方式:css在src文件夾下,通過在src文件夾下的main.js文件中使用es6的引入方式進行引入:
import "./css/index.css"
第三種方式:直接在需要對應的vue中使用es6進行引入:
<style scoped>
@import "../css/index.css";
</style>
目前我就找出這幾種方式,網上有說static是通過webpack打包以後的文件,所以引入直接
<link rel="stylesheet" type="text/css" href="./src/css/index.css">即可,具體我也不是很了解,如果有大佬知道還請麻煩告知。
針對cingig中的assetsSubDirectory屬性有這樣的一個解釋:
build.assetsSubDirectory
被webpack編譯處理過的資源文件都會在這個
build.assetsRoot
目錄下,所以它不可以混有其它可能在
build.assetsRoot
裏面有的文件。例如,假如
build.assetsRoot
參數是
/path/to/dist
,
build.assetsSubDirectory
參數是
static
, 那麼所以webpack資源會被編譯到
path/to/dist/static
目錄。
每次編譯前,這個目錄會被清空,所以這個只能放編譯出來的資源文件。
static/
目錄的文件會直接被在構建過程中,直接拷貝到這個目錄。這意味著是如果你改變這個規則,所有你依賴於
static/
中文件的絕對地址,都需要改變。