Vue日常踩坑日常 —— 在index.html中引入靜態文件不生效問題
本文針對的是Vue小白,不喜勿噴,謝謝
出現該問題的標志如下
控制台warning(Resource interpreted as Stylesheet but transferred with MIME type text/html
)
出現的原因及解決辦法
第一種可能出現原因就是引入的靜態文件在src文件夾內,這種的解決辦法就是把資源引入靜態資源的目錄static
第二種可能出現的原因就是有單獨的靜態資源目錄但是名字不叫static,這種的解決辦法更改配置文件,把對應的幾個配置文件內的static更改為你自己所創建的靜態資源目錄,由於網上大多教程所改的地方都不夠完全,還是會出現該問題,所以這也是今天為什么要寫這篇文章的原因。
需要更改的有3個文件,分別是config
文件夾下的index.js
,build
文件夾下的webpack.dev.conf.js
和webpack.prod.conf.js
假如你的靜態資源文件夾叫public,和src文件夾同級,需要修改的如下
1. index.js
dev: {
assetsSubDirectory: 'public',//原本是static,現在改為public
assetsPublicPath: `/${name}/`,
...
build: {
index: path.resolve(__dirname, '../dist/index.html'),
assetsRoot: path.resolve(__dirname, '../dist'),
assetsSubDirectory: 'public',//原本是static,現在改為public
2. webpack.dev.conf.js
// copy custom static assets
new CopyWebpackPlugin([
{
//下面原本是static,現在改為public
from: path.resolve(__dirname, '../public'),
to: config.build.assetsSubDirectory,
ignore: ['.*']
}
])
3. webpack.prod.conf.js
// copy custom static assets
new CopyWebpackPlugin([
{
//下面原本是static,現在改為public
from: path.resolve(__dirname, '../public'),
to: config.dev.assetsSubDirectory,
ignore: ['.*']
}
])
Ps:有任何問題歡迎在評論區探討