Vite打包后SCSS引用的图片路径不对,该如何解决?

作者站长头像
站长
· 阅读数 5

为什么vite打包后scss中引用的图片路径不对vite配置如下:

build: {
    rollupOptions: {
      // 静态资源分类打包(部署要区分js,css,img文件夹,对应后端的配置)
      output: {
        chunkFileNames: 'js/[name]-[hash].js',
        entryFileNames: 'js/[name]-[hash].js',
        assetFileNames: (assetInfo) => {
          if (extname(assetInfo.name) === '.css') {
            return `css/[name]-[hash].[ext]`;
          } else {
            return `img/[name]-[hash].[ext]`;
          }
        }
      }
    }
  }

scss文件和图片文件目录结构如下:Vite打包后SCSS引用的图片路径不对,该如何解决?打包后的目录结构:Vite打包后SCSS引用的图片路径不对,该如何解决?打包后的css文件中的图片引用:Vite打包后SCSS引用的图片路径不对,该如何解决?打包后正确的引用路径应该是这样:url(../img/add-1bd6048f.svg)

大佬问解惑下,为什么打包后的图片引用不对。如果可以,不改变现有的文件目录和打包后的目录结构现有的项目文件目录要合规范,所以这样放置。打包后的目录是部署要求要这样的结构。

回复
1个回答
avatar
test
2024-06-23

原因找到了这次服务器上前端部署的地址是:a/b/前端资源一开始没注意,没配置base,打包后资源定位不正确,页面打不开后来改了base,配置为./页面打开了以为就可以了.现在改成:base: '/a/b'就好了

回复
likes
适合作为回答的
  • 经过验证的有效解决办法
  • 自己的经验指引,对解决问题有帮助
  • 遵循 Markdown 语法排版,代码语义正确
不该作为回答的
  • 询问内容细节或回复楼层
  • 与题目无关的内容
  • “赞”“顶”“同问”“看手册”“解决了没”等毫无意义的内容