如何更改打包后的资源地址?

我在vue.config文件里面添加了publicPath:'./',,打包出来的文件的引用地址image.png在本地的时候是没问题的,能够设置成相对路径,但是在线上的话拿到的地址资源还是直接指向根目录的,之后发现如果将打包的资源地址改成image.png的话就可以成功拿到,请问这个在配置文件里该怎么改呢

阅读 3.7k
5 个回答

看描述的截图,都是相对路径。没看出问题来

今天也没碰到这种类似的情况,刚刚一个人帮我改成用 require()方式就可以。你可以试试。
<img :src="require('@/asset/image/xxxx.svg')" alt="ヤフー" />

可以参考这个: https://cli.vuejs.org/zh/conf...

你是部署在域名的根路径上吗?
通过 https://www.my-app.com/访问,还是https://www.my-app.com/my-app/访问?

vue.config.js

/** 是否生产环境 */
const isProduction = process.env.NODE_ENV === 'production';

module.exports = {
  // 这个根目录要看服务器怎么部署的,默认是根目录
  publicPath: isProduction ? '/' : './'
}

vue.config.js改成这种方式,亲测有效,我之前也被这个问题困扰了,vue cli4后就会有这个问题

/** 是否生产环境 */
const isProduction = process.env.NODE_ENV === 'production';

module.exports = {
  publicPath: isProduction ? '././' : '/'
}
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题