VUE : vue-cli中去掉路由中的井号#操作


Posted in Javascript onSeptember 04, 2020

vue-cli项目中,如果想去掉url地址栏中的“#”我们可以用路由的 history 模式,这种模式充分利用 history.pushState API 来完成 URL 跳转而无须重新加载页面。

只需要在路由表中,加入一行代码即可。

VUE : vue-cli中去掉路由中的井号#操作

VUE : vue-cli中去掉路由中的井号#操作

补充知识:vue 打包部署去掉#注意事项

示例基于vue cli2.0脚手架生成的项目

1.vue项目中config文件下index.js中打包配置:

build: {
 // Template for index.html
 index: path.resolve(__dirname, '../dist/index.html'),
 
 // Paths
 assetsRoot: path.resolve(__dirname, '../dist'),
 assetsSubDirectory: 'static',
 assetsPublicPath: '/dist/', // 这个地方使用绝对路径 很重要!
 
 /**
  * Source Maps
  */
 
 productionSourceMap: true,
 // https://webpack.js.org/configuration/devtool/#production
 devtool: '#source-map',
 
 // Gzip off by default as many popular static hosts such as
 // Surge or Netlify already gzip all static assets for you.
 // Before setting to `true`, make sure to:
 // npm install --save-dev compression-webpack-plugin
 productionGzip: false,
 productionGzipExtensions: ['js', 'css'],
 
 // Run the build command with an extra argument to
 // View the bundle analyzer report after build finishes:
 // `npm run build --report`
 // Set to `true` or `false` to always turn it on or off
 bundleAnalyzerReport: process.env.npm_config_report
}

2.路由配置:router文件夹下index.js:

export default new Router({
 mode: 'history', // 去掉#,需要路由模式改为history
 base: '/dist/', // 这个配置也很重要,否则会出现页面空白情况
 scrollBehavior: () => ({ y: 0 }),
 routes: [
  {
   path: '/facebook',
   name: 'Facebook',
   component: Facebook
  },
  {
   path: '/google',
   name: 'Google',
   component: Google
  }
 ]
})

3.剩下的不懂 就要找你得运维或者后端开发小伙伴了,nginx配置:

server {
    listen 8080;
    server_name localhost;
    #charset koi8-r;
    #access_log logs/host.access.log main;
    #打包后的项目目录,一定记住这个地方带有项目名称
    root /Users/qiilee/Desktop/vue/dist;
    index index.html;
 
    location /dist {
        #这个地方没有项目名称,因为请求的时候如果请求:http://localhost:8080/dist ,nginx会查找/Users/qiilee/Desktop/vue/dist/目录下的数据
        root /Users/qiilee/Desktop/vue;
        try_files $uri $uri/ @router;
        index index.html;
    }
    //try_files $uri $uri/ @router;和下边部分很重要,没有这部分发布二级一下的路由会出现js加载,但是也没空白的情况
    location @router {
        rewrite ^.*$ /index.html last;
    }
  }

以上这篇VUE : vue-cli中去掉路由中的井号#操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
js constructor的实际作用分析
Nov 15 Javascript
js实现一个链接打开两个链接地址的方法
May 12 Javascript
javaScript事件机制兼容【详细整理】
Jul 23 Javascript
jQGrid动态填充select下拉框的选项值(动态填充)
Nov 28 Javascript
微信小程序 label 组件详解及简单实例
Jan 10 Javascript
基于jQuery制作小图标上下滑动特效
Jan 18 Javascript
JS实现DOM节点插入操作之子节点与兄弟节点插入操作示例
Jul 30 Javascript
vue里面v-bind和Props 利用props绑定动态数据的方法
Aug 27 Javascript
小程序视频或音频自定义可拖拽进度条的示例代码
Sep 30 Javascript
基于webpack4.X从零搭建React脚手架的方法步骤
Dec 23 Javascript
浅谈Vue3 Composition API如何替换Vue Mixins
Apr 29 Javascript
一篇文章了解正则表达式的替换技巧
Feb 24 Javascript
Vue利用localStorage本地缓存使页面刷新验证码不清零功能的实现
Sep 04 #Javascript
vue-cli3中配置alias和打包加hash值操作
Sep 04 #Javascript
vue深度监听(监听对象和数组的改变)与立即执行监听实例
Sep 04 #Javascript
Kettle中使用JavaScrip调用jar包对文件内容进行MD5加密的操作方法
Sep 04 #Javascript
解决vue中axios设置超时(超过5分钟)没反应的问题
Sep 04 #Javascript
在vue中axios设置timeout超时的操作
Sep 04 #Javascript
vue 路由meta 设置导航隐藏与显示功能的示例代码
Sep 04 #Javascript
You might like
PHP抽象类 介绍
2012/06/13 PHP
PHP SPL使用方法和他的威力
2013/11/12 PHP
设置php页面编码的两种方法示例介绍
2014/03/03 PHP
php中实现xml与mysql数据相互转换的方法
2014/12/25 PHP
PHP中模糊查询并关联三个select框
2017/06/19 PHP
激活 ActiveX 控件
2006/10/09 Javascript
js动态加载以及确定加载完成的代码
2011/07/31 Javascript
html向js方法传递参数具体实现
2013/08/08 Javascript
jQuery实现磁力图片跟随效果完整示例
2016/09/16 Javascript
jQuery实现单击按钮遮罩弹出对话框效果(1)
2017/02/20 Javascript
JavaWeb表单及时验证功能在输入后立即验证(含用户类型,性别,爱好...的验证)
2017/06/09 Javascript
详解Node项目部署到云服务器上
2017/07/12 Javascript
CheckBox多选取值及判断CheckBox选中是否为空的实例
2017/10/31 Javascript
用vue写一个仿简书的轮播图的示例代码
2018/03/13 Javascript
React中嵌套组件与被嵌套组件的通信过程
2018/07/11 Javascript
JavaScript选择排序算法原理与实现方法示例
2018/08/06 Javascript
详解vue-cli 脚手架 安装
2019/04/16 Javascript
Javascript异步执行不按顺序解决方案
2020/04/30 Javascript
如何基于viewport vm适配移动端页面
2020/11/13 Javascript
github配置使用指南
2014/11/18 Python
Python抽象类的新写法
2015/06/18 Python
Python写的一个简单监控系统
2015/06/19 Python
Python进度条实时显示处理进度的示例代码
2018/01/30 Python
flask框架实现连接sqlite3数据库的方法分析
2018/07/16 Python
在Python中os.fork()产生子进程的例子
2019/08/08 Python
解决django xadmin主题不显示和只显示bootstrap2的问题
2020/03/30 Python
Django Admin设置应用程序及模型顺序方法详解
2020/04/01 Python
CSS3近阶段篇之酷炫的3D旋转透视
2016/04/28 HTML / CSS
Square Off美国/加拿大:世界上最聪明的国际象棋棋盘
2018/12/06 全球购物
英国领先的名牌服装折扣零售商:Brown Bag Clothing
2019/01/08 全球购物
几个常见的消息中间件(MOM)
2014/01/08 面试题
JAVA程序员面试题
2012/10/03 面试题
建筑节能汇报材料
2014/08/22 职场文书
幼儿园端午节活动方案
2014/08/25 职场文书
2015年项目经理工作总结
2015/04/30 职场文书
四群教育工作总结
2015/08/10 职场文书