VUE項目中index.html中引入CSS文件小知識點


在VUE項目中的index.html中引入CSS等靜態文件,經常會遇到無法加載的問題,例如下圖:

樣例

問題分析及解決

  1. 引入的靜態文件在src文件夾內

index.html中不能引入src目錄下的文件,否則即使不報錯,樣式也會無效。因為src里的文件會用webpack打包!
通常將外部css文件放到static目錄下(哪怕將文件放入和index.html同級目錄也行)。

  1. 有單獨的靜態資源目錄但是名字不叫static

如果將文件放入static目錄下還是有這個問題,那么很有可能是就是有單獨的靜態資源目錄但是名字不叫static,這種的解決辦法更改配置文件,把對應的幾個配置文件內的static更改為你自己所創建的靜態資源目錄
需要更改的有3個文件,分別是config文件夾下的index.js,build文件夾下的webpack.dev.conf.js和webpack.prod.conf.js,假如你的靜態資源文件夾叫public,和src文件夾同級,需要修改的如下:

2.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.2	webpack.dev.conf.js
    // copy custom static assets
    new CopyWebpackPlugin([
      {
        //下面原本是static,現在改為public
        from: path.resolve(__dirname, '../public'),
        to: config.build.assetsSubDirectory,
        ignore: ['.*']
      }
    ])
2.3	webpack.prod.conf.js

    // copy custom static assets
    new CopyWebpackPlugin([
      {
        //下面原本是static,現在改為public
        from: path.resolve(__dirname, '../public'),
        to: config.dev.assetsSubDirectory,
        ignore: ['.*']
      }
    ])


關注Github:1/2極客

關注博客:御前提筆小書童

關注公眾號:開發者的花花世界


免責聲明!

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



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