vue build static/img路径下的图片,路径错误,求大佬帮忙看看

发布于 2022-09-11 18:02:28 字数 1017 浏览 12 评论 0

问题描述

1.项目路径如下图
图片描述
2.sass目录下reset.scss
.footer{
background: url("/static/img/top.png") no-repeat;
}
3.npm run build
图片路径错误,调试模式下在/static前面改为./static可以加载出图片
如果将reset.scss footer改为./static/img/top.png webpack 报错提示 This relative module was not found
这里好像只能用绝对路径

图片描述

相关代码

1.buid/utils.js
if (options.extract) {

  return ExtractTextPlugin.extract({
    use: loaders,
    fallback: 'vue-style-loader',
    publicPath: '../../',
  })
}
sass配置
 scss: generateLoaders('sass').concat(
  {
    loader: 'sass-resources-loader',
    options: {
      resources: path.resolve(__dirname, '../static/sass/main.scss')
    }
  }

2.config/index.js
build: {

// Template for index.html
index: path.resolve(__dirname, '../dist/index.html'),

// Paths
assetsRoot: path.resolve(__dirname, '../dist'),
assetsSubDirectory: 'static',
assetsPublicPath: './',

}

如何将static/img图片路径build之后改为相对路径呢?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

兲鉂ぱ嘚淚 2022-09-18 18:02:28

写在CSS中的图片路径写相对路径即可,这样devbuild都能识别。
./static/img/top.png错误的原因是路径不对,以当前的.vue/css文件为起点,到达static文件夹路径前你需要若干个../

过去的过去 2022-09-18 18:02:28

修改 config/index.js

build: {
//...
assetsSubDirectory: './static',
//...
}
山色无中 2022-09-18 18:02:28

静态资源为什么不放在assets里呢,打包之后static和index.html,不能用引用打包后的路径来引用资源。框架结构是这样。可以试一下。能不能成我也没底 --=

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文