优化 vue 使用 webpack 打包,出现的缓存问题 及 项目部署问题

vue 项目每一次打包上线,都会有浏览器缓存问题,需要用户手动清除缓存。
这样用户体验非常不好,所以我们在打包部署的时候需要尽量避免浏览器的缓存。
下面是我的解决方案:

缓存问题

方法一

index.html文件添加如下代码

<meta http-equiv="pragram" content="no-cache">
<meta http-equiv="cache-control" content="no-cache, no-store, must-revalidate">
<meta http-equiv="expires" content="0">

在这里插入图片描述

方法二

通过给打包的文件路径添加时间戳,在根目录创建vue.config.js文件,并添加如下代码:

const path = require("path");
const webpack = require("webpack");
const timeStamp = new Date().getTime();
module.exports = {
  publicPath: process.env.NODE_ENV === "production" ? "/dist/" : "/",
  // 打包的时候不使用hash值.因为我们有时间戳来确定项目的唯一性了.
  filenameHashing: false,

  // 将构建好的文件输出到哪里
  outputDir: "dist",

  configureWebpack: {
    // 重点
    // 输出重构 打包编译后的js文件名称,添加时间戳.
    output: {
      filename: `js/[name].${timeStamp}.js`,
      chunkFilename: `js/chunk.[id].${timeStamp}.js`
    }
  },

  css: {
    //重点.
    extract: {
      // 打包后css文件名称添加时间戳
      filename: `css/[name].${timeStamp}.css`,
      chunkFilename: `css/chunk.[id].${timeStamp}.css`
    }
  }
};

  • filename 指列在entry 中,打包后输出的文件的名称。
  • chunkFilename 指未列在entry 中,却又需要被打包出来的文件的名称。

方法三

nginx 配置,让index.html不缓存。

location = /index.html {
    add_header Cache-Control "no-cache, no-store";
}

部署问题

问题一

项目本地启动无问题,部署上线后访问,控制台提示 引用静态资源报错:net::ERR_ABORTED 404 (Not Found)

解决:

  • 一、可能是因为vue.config.js中的publicPath路径错误;保证自己路径正确的前提下,将publicPath修改为如下代码:
publicPath: process.env.NODE_ENV === "production" ? "/dist/" : "/",

在这里插入图片描述

  • 二、可能是因为打包后的dist没有放到服务器的根目录下,查看config文件夹下的index.js文件,找到build.assetsPublicPath,将"/“修改成”./"

在这里插入图片描述

问题二

项目打包后只能访问首页,其他页面全部报错404或者显示空白

解决:

  • 查看路由表,是否将路由模式设置为了history模式,如果设置了,只需将 history 注释掉 然后 将项目打包后上到环境就可以了
    在这里插入图片描述
Vue项目常见问题及解决方法包括但不限于以下几个方面: 1. 跨域问题:在Vue项目中,由于浏览器的同源策略限制,经常会遇到跨域问题。解决方法可以使用代理服务器来转发请求,或者在后端接口中设置允许跨域请求的头信息。 2. 路由问题:有时候会遇到路由跳转不成功或者参数传递错误的问题。解决方法是检查路由配置是否正确,确保路由路径和组件对应正确,同时在跳转时传递参数时要注意参数的类型和命名是否一致。 3. 组件通信问题:在Vue项目中,组件之间的通信是常见的问题。解决方法可以使用Vuex来进行状态管理,或者使用Vue的自定义事件来实现组件间的通信。 4. 性能优化问题:在大型Vue项目中,性能优化是一个重要的考虑因素。解决方法包括使用异步组件来提高首屏加载速度,使用懒加载来按需加载组件,合理使用Keep-alive缓存组件等。 5. 打包部署问题Vue项目的打包部署有时候会遇到一些问题,比如打包文件体积过大或者部署到服务器后页面空白等。解决方法可以使用Webpack进行代码优化和压缩,或者检查部署路径和服务器环境等。 综上所述,Vue项目常见问题的解决方法需要深入理解Vue的相关知识,并结合具体问题进行调试和优化。在实际开发中,理解这些问题并能够快速解决将有助于提高开发效率和项目质量。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值