『vue踩坑日常』 在index.html中引入靜態文件不生效


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.jswebpack.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:有任何問題歡迎在評論區探討


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM