【问题标题】:Electron Vue after refresh page return: Cannot GET /url刷新页面返回后的 Electron Vue:无法获取 /url
【发布时间】:2019-07-11 19:01:59
【问题描述】:

我用 vue 安装了电子(使用了这个instruction)。我有路线文件:

import Home from '../components/views/Home.vue';
import Knowledge from '../components/views/Knowledge.vue';

const routes = [
    {
        path: '/',
        name: 'Home',
        component: Home
    },
    {
        path: '/knowledge',
        name: 'Knowledge',
        component: Knowledge
    }
];

export default routes;

还有menu.vue文件:

<a @click="$router.push({ name: 'Home' })">Home</a>
<a @click="$router.push({ name: 'Knowledge' })">Knowledge</a>

当我点击 Knowledge 或 Home 组件正确加载,但是当我在组件 'Knowledge' 并点击 Ctrl + R Electron 时返回此错误:

无法获取/知识

在控制台中出现同样的错误 3 次:

拒绝执行内联脚本,因为它违反了以下内容 内容安全策略指令:“default-src 'none'”。无论是 'unsafe-inline' 关键字,一个哈希 ('sha256-tNDGcuur+Xq1hWGosyhxNn/LdCiCH7CeKGodlT3JvPg='),或随机数 ('nonce-...') 是启用内联执行所必需的。另请注意 'script-src' 没有明确设置,所以 'default-src' 被用作 回退

但是当我在 Home 组件中重新加载电子时,它不会返回任何错误

【问题讨论】:

    标签: vue.js electron


    【解决方案1】:

    我找到了这个answer。只是我需要将# 添加到path

    {
        path: '/#/knowledge',
        name: 'Knowledge',
        component: Knowledge
    },
    

    【讨论】:

    • 如果你不使用 'mode: "history"' 那么你就不必在每个路由之前添加 /#/。构建完成后,它会在每个路由之前自动添加#。如果你想使用 'mode: "history"' 那么你可能需要在你的服务器中做一些配置更改。详情请查看链接router.vuejs.org/guide/essentials/…
    猜你喜欢
    • 2017-07-04
    • 1970-01-01
    • 2017-09-12
    • 2015-03-19
    • 1970-01-01
    • 2018-11-09
    • 2021-03-08
    • 1970-01-01
    • 2021-06-05
    相关资源
    最近更新 更多