常见问题及原因

1. 图片路径错误

background-image: url('images/error.png');

2. Webpack配置问题

解决方法

1. 检查图片路径

2. 使用正确的图片导入方式

background-image: url('/src/assets/images/error.png');

注意,路径前面要添加/,表示从根目录开始计算。

3. 配置Webpack

a. 修改output.publicPath

vue.config.js文件中,修改output.publicPath配置:

module.exports = {
  publicPath: process.env.NODE_ENV === 'production' ? '/dist/' : '/',
  // ...
};

确保publicPath与你的部署路径一致。

b. 修改assetModuleFilename

vue.config.js文件中,修改assetModuleFilename配置:

module.exports = {
  chainWebpack: config => {
    config.output.setFilename('assets/[name].[hash:8].[ext]');
    config.output.setChunkFilename('assets/[name].[hash:8].[ext]');
  },
  // ...
};

4. 使用Webpack插件

const path = require('path');

module.exports = {
  module: {
    rules: [
      {
        test: /\.(png|jpe?g|gif|svg)(\?.*)?$/,
        type: 'asset/resource',
        generator: {
          filename: 'assets/images/[hash:8][ext][query]'
        }
      }
    ]
  }
};

总结