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

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容