<legend id='NNj48'><style id='NNj48'><dir id='NNj48'><q id='NNj48'></q></dir></style></legend>

    1. <i id='NNj48'><tr id='NNj48'><dt id='NNj48'><q id='NNj48'><span id='NNj48'><b id='NNj48'><form id='NNj48'><ins id='NNj48'></ins><ul id='NNj48'></ul><sub id='NNj48'></sub></form><legend id='NNj48'></legend><bdo id='NNj48'><pre id='NNj48'><center id='NNj48'></center></pre></bdo></b><th id='NNj48'></th></span></q></dt></tr></i><div id='NNj48'><tfoot id='NNj48'></tfoot><dl id='NNj48'><fieldset id='NNj48'></fieldset></dl></div>

      <tfoot id='NNj48'></tfoot>

      <small id='NNj48'></small><noframes id='NNj48'>

        <bdo id='NNj48'></bdo><ul id='NNj48'></ul>
    2. 解决vue打包css文件中背景图片的路径问题

      时间:2023-12-14

        <small id='ZZBbD'></small><noframes id='ZZBbD'>

        • <legend id='ZZBbD'><style id='ZZBbD'><dir id='ZZBbD'><q id='ZZBbD'></q></dir></style></legend>
        • <tfoot id='ZZBbD'></tfoot>

            <tbody id='ZZBbD'></tbody>

          1. <i id='ZZBbD'><tr id='ZZBbD'><dt id='ZZBbD'><q id='ZZBbD'><span id='ZZBbD'><b id='ZZBbD'><form id='ZZBbD'><ins id='ZZBbD'></ins><ul id='ZZBbD'></ul><sub id='ZZBbD'></sub></form><legend id='ZZBbD'></legend><bdo id='ZZBbD'><pre id='ZZBbD'><center id='ZZBbD'></center></pre></bdo></b><th id='ZZBbD'></th></span></q></dt></tr></i><div id='ZZBbD'><tfoot id='ZZBbD'></tfoot><dl id='ZZBbD'><fieldset id='ZZBbD'></fieldset></dl></div>
                <bdo id='ZZBbD'></bdo><ul id='ZZBbD'></ul>

                针对vue打包css文件中背景图片的路径问题,我为您提供以下完整攻略:

                背景

                在使用vue开发时,有时我们需要在CSS样式中使用背景图片,而在Webpack打包后,背景图片的路径不正确,导致页面无法正确显示背景图片。

                解决方法

                我们可以通过配置Webpack的url-loaderfile-loader来解决这个问题。

                1. 安装依赖

                首先需要安装以下依赖:

                npm install url-loader file-loader --save-dev
                

                2. 配置webpack.config.js

                在webpack.config.js中添加如下代码:

                module.exports = {
                  module: {
                    rules: [
                      // 处理css中的背景图片
                      {
                        test: /\.(png|jpe?g|gif|svg)(\?.*)?$/,
                        loader: 'url-loader',
                        options: {
                          limit: 10000,
                          name: 'img/[name].[hash:7].[ext]'
                        }
                      },
                      // 处理字体文件中的背景图片
                      {
                        test: /\.(eot|svg|ttf|woff|woff2)(\?\S*)?$/,
                        loader: 'file-loader',
                        options: {
                          name: '[name].[hash:7].[ext]'
                        }
                      }
                    ]
                  }
                }
                

                注:limit的值为10000表示小于10kb的图片会被转换为base64编码,大于10kb的图片则以文件形式存储。name选项表示输出路径和文件名。

                3. 修改css中的图片路径

                在css中的图片路径前加上~表示是从根目录下查找,例如:

                div {
                  background-image: url('~@/assets/img/bg.png');
                }
                

                其中,@表示项目根目录,~表示从根目录下查找,/assets表示静态资源路径。

                4. 在vue组件中使用图片路径

                在vue组件中引用css样式时,需要使用全局样式并加上scoped属性,例如:

                <template>
                  <div class="bg"></div>
                </template>
                
                <style lang="scss" scoped>
                @import 'index.scss';
                .bg {
                  background-image: url('~@/assets/img/bg.png');
                }
                </style>
                

                其中,scss样式中的引用路径同样需要加上~

                示例说明

                例如,在vue项目中,我们需要使用bg.png作为背景图片,在代码中如下引用:

                <template>
                  <div class="bg"></div>
                </template>
                
                <style lang="scss" scoped>
                @import 'index.scss';
                .bg {
                  background-image: url('~@/assets/img/bg.png');
                }
                </style>
                

                在打包后,bg.png图片会被转换为img/bg.hash.js文件,在项目dist目录下的路径为./img/bg.hash.js

                上一篇:vue项目使用CDN引入的配置与易出错点 下一篇:CSS3不透明度实例讲解

                相关文章

                • <bdo id='5kAOC'></bdo><ul id='5kAOC'></ul>

                <tfoot id='5kAOC'></tfoot>
                1. <small id='5kAOC'></small><noframes id='5kAOC'>

                2. <i id='5kAOC'><tr id='5kAOC'><dt id='5kAOC'><q id='5kAOC'><span id='5kAOC'><b id='5kAOC'><form id='5kAOC'><ins id='5kAOC'></ins><ul id='5kAOC'></ul><sub id='5kAOC'></sub></form><legend id='5kAOC'></legend><bdo id='5kAOC'><pre id='5kAOC'><center id='5kAOC'></center></pre></bdo></b><th id='5kAOC'></th></span></q></dt></tr></i><div id='5kAOC'><tfoot id='5kAOC'></tfoot><dl id='5kAOC'><fieldset id='5kAOC'></fieldset></dl></div>
                  <legend id='5kAOC'><style id='5kAOC'><dir id='5kAOC'><q id='5kAOC'></q></dir></style></legend>