Nginx Vue路由器单页应用程序,页面是否应重新加载?

Nginx Vue路由器单页应用程序,页面是否应重新加载?,nginx,vue.js,vuejs2,vue-component,vue-router,Nginx,Vue.js,Vuejs2,Vue Component,Vue Router,我有一个问题,我已经设置了vue路由器,但我有一个问题,它是如何成为一个单页应用程序的。当我点击链接时,页面正在重新加载,因此它不是一个真正的单页应用程序,是吗 以下是我的nginx配置: # FORGE CONFIG (DOT NOT REMOVE!) include forge-conf/webuilder.co.uk/before/*; server { listen 443 ssl http2; listen [::]:443 ssl http2; server

我有一个问题,我已经设置了vue路由器,但我有一个问题,它是如何成为一个单页应用程序的。当我点击链接时,页面正在重新加载,因此它不是一个真正的单页应用程序,是吗

以下是我的nginx配置:

# FORGE CONFIG (DOT NOT REMOVE!)
include forge-conf/webuilder.co.uk/before/*;

server {
    listen 443 ssl http2;
    listen [::]:443 ssl http2;
    server_name webuilder.co.uk;
    root /home/forge/webuilder.co.uk/current;

    # FORGE SSL (DO NOT REMOVE!)
    ssl_certificate /etc/nginx/ssl/webuilder.co.uk/279163/server.crt;
    ssl_certificate_key /etc/nginx/ssl/webuilder.co.uk/279163/server.key;

    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_ciphers 'ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-$
    ssl_prefer_server_ciphers on;
    ssl_dhparam /etc/nginx/dhparams.pem;

    add_header X-Frame-Options "SAMEORIGIN";
    add_header X-XSS-Protection "1; mode=block";
    add_header X-Content-Type-Options "nosniff";

    index index.html index.htm index.php;

    charset utf-8;

    # FORGE CONFIG (DOT NOT REMOVE!)
    include forge-conf/webuilder.co.uk/server/*;

    location / {
        try_files $uri $uri/ /index.html;
    }

    location = /favicon.ico { access_log off; log_not_found off; }
    location = /robots.txt  { access_log off; log_not_found off; }

    access_log off;
路线:

import Create from '../vue/components/homepage/create.vue';
import How from '../vue/components/homepage/how.vue';
import About from '../vue/components/homepage/about.vue';
import Youtube from '../vue/components/homepage/youtube.vue';
import Login from '../vue/components/auth/login.vue';
import Register from '../vue/components/auth/register.vue';

export default [
    { path: '/', component: Create },
    { path: '/how', component: How },
    { path: '/about', component: About},
    { name: 'youtube', path: '/youtube', component: Youtube},
    { path: '/login', component: Login},
    { path: '/register', component: Register},
];

Vue.use(VueRouter);
Vue.component('homenav', Navigation);
Vue.component('mainav', Navigation2);

const router = new VueRouter({
  mode: 'history',
  routes: Router
});

new Vue({
  el: '#nav',
  data: {
    nav: 'homeNav'
  },
  methods: {
    switchNav: function (nav) {
      this.nav = nav;
    }
  }
});

new Vue({
  el: '#app',
  router,
  updated: function () {
    Pace.restart()
  },
});
可以在以下网址看到:

有人能解释并澄清这是否是SPA的预期行为吗?我认为它不会重新加载,但会更改组件本身,如果我关闭历史记录模式并添加“#”…

当您想要路由到特定路由器页面时,您需要使用而不是

在HTML5历史记录模式下,路由器链接将拦截点击事件,以便浏览器不会尝试重新加载页面

当您想要路由到特定路由器页面时,需要使用而不是

在HTML5历史记录模式下,路由器链接将拦截点击事件,以便浏览器不会尝试重新加载页面


你是对的,它不应该重新加载。你看过这个(服务器配置部分):你是正确的,它不应该重新加载。您看到了吗(服务器配置部分):有道理,我使用了自己的a标记,并认为它将是相同的。所以我需要改变这一点。ThanksMakes感觉我用了我自己的a标签,并认为它会是一样的。所以我需要改变这一点。谢谢