我的编程空间,编程开发者的网络收藏夹
学习永远不晚

vue3项目打包发布到服务器后访问页面显示空白怎么解决

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

vue3项目打包发布到服务器后访问页面显示空白怎么解决

这篇“vue3项目打包发布到服务器后访问页面显示空白怎么解决”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“vue3项目打包发布到服务器后访问页面显示空白怎么解决”文章吧。

    vue3项目打包发布到服务器后访问页面显示空白

    处理vue.config.js文件中的publicPath

    处理如下:

    const { defineConfig } = require('@vue/cli-service')module.exports = defineConfig({    publicPath: process.env.NODE_ENV === 'production' ? './' : '/',    outputDir: 'dist',    indexPath: 'index.html',    lintOnSave: false,    transpileDependencies: true,})

    处理router文件夹中的index.js文件

    处理如下:采用修改后的部分

    import { createRouter, createWebHistory, createWebHashHistory  } from 'vue-router';import routes from "./routes";const router = createRouter({    //history: createWebHistory(process.env.BASE_URL),//默认时    history: createWebHashHistory(process.env.BASE_URL),//修改后    routes})export default router;

    解决以上这两步,就解决vue3项目打包发布到服务器后访问页面显示空白问题

    在打包项目时显示空白页问题和一些解决思路

    在项目开发完毕后我们就会进行打包

    npm run build

    打包生成的文件会在dist文件夹中

    但有时候打开index.html 会出现空白页面

    vue3项目打包发布到服务器后访问页面显示空白怎么解决

    接下来我们从几个方面来进行分析:

    一、打包时整体资源路径

    根据实际情况要判断    是/   还是 ./ 

    vue3项目打包发布到服务器后访问页面显示空白怎么解决

    在vue-ui 里配置:

    vue3项目打包发布到服务器后访问页面显示空白怎么解决

    在vue.config.js里配置:

    module.exports = {//基本路径 文件打包后放的位置publicPath:‘./', //默认输出文件夹为dist,填入的名字为打包后的文件名outputDir:‘name', // 放置生成的静态资源 (js、css、img、fonts) 的 (相对于 outputDir 的) 目录。资源放的目录assetsDir: “./static”, // 指定生成的 index.html 的输出路径 (相对于 outputDir)。也可以是一个绝对路径 index的路劲和名字indexPath: ‘./index.html', //打包后是否生成map文件,map文件能看到错误代码位置,设置为false不生成map文件,打包体积缩小productionSourceMap: false,}

    二、路由模式

    是哈希 还是 历史模式 

    推荐 哈希模式 兼容性更高 #以后路径不会发送给服务器 避免一些错误

    const router = new VueRouter({  routes,  mode:'hash',})

    三、开发和生产环境切换的原因

    因为我们开发环境时

    npm run serve 模拟的是本地服务器

    打包成dist文件夹 导致端口等一些变化 当中的内容请求不过来 所以导致空白页

    我们可以简单部署本地服务器让 dist 跑起来

    创建文件夹

    • 在文件夹终端 初始化 npm npm init -y

    • 安装 express  npm i express -S

    • 把dist 复制到新文件夹中

    • 创建 app.js 写代码

    开启gzip 减小文件体积 使传输速度更快

    • 安装对应包  npm install compression -p

    • 导入包 const compression = require('compression')

    • 启用中间件 app.use(compression())

    使用PM2 管理应用

    • 安装 npm i pm2 -g

    • 启动项目:pm2 start .\app.js --自定义名称

    • 查看运行项目 pm2 ls

    • 重启项目 pm2 restart 自定义名称(ID)

    • 停止项目 pm2 stop 自定义名称(ID)

    • 删除项目 pm2 delete 自定义名称(ID)

    vue3项目打包发布到服务器后访问页面显示空白怎么解决

    app.js:

    const express = require('express')const app = express() const compression = require('compression') app.use(compression()) // 一定要把这一行写在 静态资源托管之前app.use(express.static('./dist')) app.listen(80,()=> {  console.log('server running at http://127.0.0.1')})

    在这里能跑起来 dist 给后端大哥也不成问题了

    四、执行构建之前可以进行一些优化

    在 vue.confjg.js 中分别设置 本地服务 和 构建 的入口文件

    module.exports = {  chainWebpack:config=>{    //发布模式    config.when(process.env.NODE_ENV === 'production',config=>{      //entry找到默认的打包入口,调用clear则是删除默认的打包入口      //add添加新的打包入口      config.entry('app').clear().add('./class="lazy" data-src/main-prod.js')       //使用externals设置排除项      config.set('externals',{        vue:'Vue',        axios:'axios',        lodash:'_',        echarts:'echarts',        nprogress:'NProgress',      }) // 在项目的根目录创建一个vue.config.vue文件,添加上 chainWebpack,修改args里的参数配置,重新返回就可以  这里是 判断是开发版本 还是 发布版本      config.plugin('html').tap(args => {        args[0].isProd = true        return args      })     })    //开发模式    config.when(process.env.NODE_ENV === 'development',config=>{      config.entry('app').clear().add('./class="lazy" data-src/main-dev.js')       config.plugin('html').tap(args => {        args[0].isProd = false        return args      })    })   }}
    • main-dev.js 开发版本总入口

    • main-prod.js 发布版本总入口 在这里根据开发版本改进 删除不需要的依赖项 改用cdn引入、配置路由懒加载的插件......

    以上就是关于“vue3项目打包发布到服务器后访问页面显示空白怎么解决”这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注编程网行业资讯频道。

    免责声明:

    ① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

    ② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

    vue3项目打包发布到服务器后访问页面显示空白怎么解决

    下载Word文档到电脑,方便收藏和打印~

    下载Word文档

    猜你喜欢

    vue3项目打包发布到服务器后访问页面显示空白怎么解决

    这篇“vue3项目打包发布到服务器后访问页面显示空白怎么解决”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“vue3项目打包发
    2023-07-05

    解决vue3项目打包发布到服务器后访问页面显示空白问题

    这篇文章主要介绍了解决vue3项目打包发布到服务器后访问页面显示空白问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-03-19

    Android项目在 app 中通过 WebView 访问 url显示空白,使用浏览器可以打开,Android WebView加载出现空白页面问题解决

    这是服务器证书校验WebView的安全问题 服务器证书校验主要针对 WebView 的安全问题。在 app 中需要通过 WebView 访问 url,因为服务器采用的自签名证书,而不是 ca 认证,使用 WebView 加载 url 的时候
    Android项目在 app 中通过 WebView 访问 url显示空白,使用浏览器可以打开,Android WebView加载出现空白页面问题解决
    2023-12-23

    编程热搜

    目录