关于vue-cli打包或者上线后文件各种路径或者找不到的问题解决方案

我们用vue开发项目的时候npm run dev 用的很爽的
一旦 npm run build之后 或者上线之后
卧槽,我的什么css,img各种加载不了,实在让人头疼,查了很多资料,以下是我的解决方案

零 安装vue-cli

npm install -g vue-cli // 加-g是安装到全局

vue init webpack demo //然后一路回车等待安装完毕

cnpm install //等安装完毕

一 配置别名

1 配置
build/webpack.base.conf.js

alias: {
  'vue$': 'vue/dist/vue.esm.js',
  '@': resolve('src'),
  'c': resolve('src/components'),
  'img': resolve('src/assets/img'),
  'css': resolve('src/assets/css')
}

2 用法

<img src="~img/logo.png" alt=""> //记得~

二 所有资源相对路径

打开webpack.prod.conf.js
找到output:增加 publicPath: './', 即可如图

clipboard.png
那么这样后,资源的引用路径就正确了。

当然在config文件夹下的index.js中修改 assetsPublicPath: './'同样也可以达到资源的相对引用。


三 背景图片的引用问题

上面虽然解决了资源路径的引用问题,但是资源里面的背景图片,不像index.html中加载资源一样,通过./static/js/app.js引用可以正常加载,图片资源是通过css加载的,如 background: url("../../assets/images/logo-index.png") no-repeat;被相对打包后变成了url(static/img/logo-index.2f00bf2.png) no-repeat所以我们要保留css引用图片的正常路径,即:

clipboard.png

那么就需要修改build文件夹下的utils.js代码,如图所示:

clipboard.png
添加如图所示的一行代码,这样不论是字体还是图片的引用问题都能解决。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值