解决webpack打包vue项目后,部署完成后,刷新页面页面404

1.url不动式
url完全不动,即你的页面怎么改变,怎么跳转url都不会改变。这种情况的原理 就是纯ajax拿到页面后替换原页面中的元素,刷新页面就是首页

2.带hash(#)式
这种相对于第一种的话刷新页面页面不会丢失
    实现原理
写一个window事件我监听url的变化,那我就能实先路由,那样我就可以根据url的变化,来通过ajax请求参数来渲染页面,一个url对应一个页面,就不会重复。
window.addEventListener(‘hashchange‘,function(){
self.urlChange()
})

3.无hash(#)式
这种类型是通过html5的最新history api来实现的   能正常的回退前进,超嗨

那么问题来了
第一种方式页面不能刷新,第二种刷新也无妨,因为url并没有改变,请求url从服务器照样能够loading到页面。
但是第三种就出问题了,我一刷新就loading不到页面就报404页面丢失了。怎么办呢???

解决方案
方案一
通过后台控制404转发到程序入口index.html页面来,让页面能够正常的显示。
方案二
通过服务器的nginx配置

可以去参考下vue的单页面模式路由页刷新解决方案
http://www.cnblogs.com/kevingrace/p/6126762.html

转载地址:https://blog.csdn.net/u013234218/article/details/70170837

原文地址:https://www.cnblogs.com/sweeeper/p/11457886.html

时间: 2024-10-12 19:34:32

解决webpack打包vue项目后,部署完成后,刷新页面页面404的相关文章

如何做到在webpack打包vue项目后,在外部动态修改配置文件

在我们做完vue项目后,只需要执行 npm run dist 就可以轻松进行打包转测试,可是如果我们临时需要修改一些配置文件比如域名,这时候我们就有点懵逼了,那就修改了再重新打一次包? NO NO NO,让我们一起来探索如何解决这个问题吧. 首先我们需要借助一个插件 generate-asset-webpack-plugin npm install generate-asset-webpack-plugin --save-dev 其次在build文件夹下建立一个generate-asset.co

16.如何做到webpack打包vue项目后,可以修改配置文件

问题描述: 前端需要修改restful API的url,但是打包之后,配置文件找不到了,如果在npm run build 生成dist后,这个配置也被写死了,传到运行的前端服务器上后,假设某次,api服务器的ip修改了,改动只是更新下这个url,但是却需要会到前端源码,url后,在重新npm run build,然后再把整个dist再重新传到前端服务器,才可以. 解决方法: 用了generate-asset-webpack-plugin 这个插件,在webpack.prod.conf.js中去生

webpack构建Vue项目引入jQ时发生“'$' is defined but never used”的处理

今天公司需要新建个数据后台,就按照查到的方法构建了Vue框架的项目,引入jQ.bootstrap时,按照在线方法配置,发现 main.js 里的引用jQ一直显示红标,没多想,在按照网上配置完后,npm run dev运行,就抛出这么个错误,百思不得解 错误如下: '$' is defined but never used 1 http://eslint.org/docs/rules/space-before-function-paren 1 http://eslint.org/docs/rule

webpack构建vue项目(配置篇)

最近公司要求用vue重构项目,还涉及到模块化开发,于是乎,我专门花了几天的时间研究了一下webpack这个目前来看比较热门的模块加载兼打包工具,发现上手并不是很容易,现将总结的一些有关配置的心得分享出来,欢迎大神来拍砖... 一.新建一个项目目录,cd /d 定位进去,然后输入npm init,会提示你填写一些项目的信息,一直回车默认就好了,或者直接执行npm init -y 直接跳过,这样就在项目目录下生成了一个package.json文件. 二.接下来就是通过npm安装项目依赖项,命令行输入

使用webpack搭建vue项目

有一句话叫"前人栽树后人乘凉",还有一句话叫"如果说我看得比别人更远些,那是因为我站在巨人的肩膀上".前一句是国人的俗语,后一句是那个发现了"万有引力"定律的牛顿说的.为什么要引用这两句呢?是因为我刚开始用vue的时候,使用的是vue-cli来搭建vue项目,快速又好用:我刚开始用react的时候,使用的是create-react-app来搭建react项目,方便又省事.使用这些已有的脚手架来搭建项目,无可厚非,对于新手来说,也确实能快速构建,不

用Webpack构建Vue项目

开始之前,需要安装node环境.(安装过程在此就不啰嗦了) 1.创建基本结构 首先我们要创建一个空文件夹(我这里叫todos,你可以随便命名)作为项目的根目录. 创建一个没有任何依赖关系的package.json,可以通过命令行 npm init 创建. 配置下基本信息即可. 创建一个index.html文件,这个是显示在浏览器中的页面. 注意: 1.这里的暂时并不存在: 2.的数据会被vue文件填入. 创建一个src文件夹,并在文件夹内新建一个main.js文件: 这样我们就完成了一个关于vu

彻底解决Webpack打包慢的问题

转载 这几天写腾讯实习生 Mini 项目的时候用上了 React 全家桶,当然同时引入了 Webpack 作为打包工具.但是开发过程中遇到一个很棘手的问题就是,React 加上 React-Router.superagent.eventproxy 这些第三方轮子一共有好几百个 module,Webpack 的打包速度极慢.这对于开发是非常不好的体验,同时效率也极低. 问题分析 我们先来看一下完全没有任何优化的时候,Webpack 的打包速度(使用了jsx和babel的loader).下面是我们的

在vue项目npm run build后,index.html中引入css和js 报MIME type问题

问题: 1.在vue项目中,build打包后,index页面打开会报错, MIME type ('text/html') ;报错内容:because its MIME type ('text/html') is not a supported stylesheet MIME type2.控制台报错:报错内容:http://127.0.0.1:5500/static/css/app.04f46711e76646577281177c721d6432.css 这个地址Cannot GET 解决思路:

利用webpack构建vue项目

快速搭建vue项目 一,确认自己有无搭建好node以及npm环境,这些是前提,具体安装方法可参考https://nodejs.org/en/. 二,开始构建项目. 第1步:新建一个文件夹,随意命名. 第2步:通过vue-cli来构建项目,vue-cli是vue的脚手架工具,可通过命令行: npm install -g vue-cli 来进行安装.vue-cli只用安装一次,以后可以不用再安装. 第3步:在安装完vue-cli之后,找到自己新建的文件夹,并在这里打开命令提示符cmd.可以通过按住s