vue css url 路径错误问题

https://github.com/vuejs/vue-loader/issues/481
主要是需要单独为 css 配置 publicPath 。

ExtractTextWebpackPlugin 提供了一个 options.publicPath 的 api,可以为css单独配置 publicPath 。

对于用 vue-cli 生成的项目,dist 目录结构如下:

dist

├── index.html

└── static

    ├── css

    ├── img

    └── js

经常遇见的问题是 css 中 background-image 的相对路径不能正确的引用到 img 文件夹中。但是用 ExtractTextWebpackPlugin 的 publicPath 配置就可以。

更改 build/utils.js 文件中 ExtractTextPlugin 插件的options 配置:

    if (options.extract) {

      return ExtractTextPlugin.extract({

        use: loaders,

        publicPath: '../../',        // 注意配置这一部分,根据目录结构自由调整

        fallback: 'vue-style-loader'

      })

    } else {

      return ['vue-style-loader'].concat(loaders)

    }

最后附上 extract-text-webpack-plugin 的文档。

https://github.com/webpack-contrib/extract-text-webpack-plugin/blob/master/README.md

你可能感兴趣的:(vue css url 路径错误问题)