博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Vue通过build打包后 打开index.html页面是空白的
阅读量:4307 次
发布时间:2019-06-06

本文共 993 字,大约阅读时间需要 3 分钟。

最近在build打包vue项目遇到了几个问题,如下:

1、npm run build打包项目之后,我们通常是把dist文件里面被压缩后的static文件跟index.html提交到服务器,但最近发现直接打开index.html页面是空白的,还会报几个错,找不到页面路径。

原因:找到config文件下index.js,全局搜索assetsPublicPath,结果是 assetsPublicPath:' / ' 默认为根目录,而index.html和static是在同一级目录下,因此,解决方法就是 assetsPublicPath:' ./ ' 斜杠前加一个点,表示同一级。如图:

 

 

如果还搞不懂assetsPublicPath,看下面解释:

assetsPublicPath

这个静态资源的引用前缀, 默认的是/

按照上面的配置,

当你把 dist 文件夹下的文件放到服务器,

  • 能用http://www.xxx.com/static/js/xxx.js路径访问到时, 那么assetsPublicPath就不需要修改了
  • 需要用http://www.xxx.com/aaa/bbb/static/js/xxx.js路径访问到时, 那么assetsPublicPath就得改成/aaa/bbb/, 然后重新 build 一次, 上传到服务器
  • 当你把静态文件传到 cdn, 需要用http://stacic.yyy.com/aaa/bbb/static/js/xxx.js路径访问到时, 那么assetsPublicPath就得改成http://stacic.yyy.com/aaa/bbb/, 然后重新 build 一次, 上传到服务器

绝对路径听起来好像很复杂啊, 能不能用相对路径呢?

当然也是可以的, 不过配置起来要比用绝对路径复杂的多, 主要是涉及到 css 文件的里图片和字体等

    1. 首先, assetsSubDirectory要设置成空
    2. assetsPublicPath, 改成./

 

2、页面可以正常打开了,但是vue-router跳转路由页面无法显示,其实,这个也很简单。

解决方法:打开index.js看路由配置,mode:' hash ' 改这个配置即可,如图:

 

转载于:https://www.cnblogs.com/xtjatswc/p/10306567.html

你可能感兴趣的文章
apache下虚拟域名配置
查看>>
session和cookie区别与联系
查看>>
PHP 实现笛卡尔积
查看>>
Laravel中的$loop
查看>>
CentOS7 重置root密码
查看>>
Centos安装Python3
查看>>
PHP批量插入
查看>>
laravel连接sql server 2008
查看>>
Laravel 操作redis的各种数据类型
查看>>
Laravel框架学习笔记之任务调度(定时任务)
查看>>
laravel 定时任务秒级执行
查看>>
浅析 Laravel 官方文档推荐的 Nginx 配置
查看>>
Swagger在Laravel项目中的使用
查看>>
Laravel 的生命周期
查看>>
CentOS Docker 安装
查看>>
Nginx
查看>>
Navicat远程连接云主机数据库
查看>>
Nginx配置文件nginx.conf中文详解(总结)
查看>>
Mysql出现Table 'performance_schema.session_status' doesn't exist
查看>>
MySQL innert join、left join、right join等理解
查看>>