Mac(localhost)上的vue-router历史记录模式在直接访问时引发错误

A. *_*Lau 5 javascript macos vue.js vuejs2 vue-cli-3

我正在localhost开发中测试vue-router的历史记录模式,当我尝试直接访问URL:时出现错误http://localhost:8080/map/2。当我通过$router.push某种形式访问URL时,它的行为正确。我想知道是什么引起了这个问题。

路由器/ index.js

import Vue from "vue"
import Router from "vue-router"

const PublicMap = () => import("@/components/PublicMap/index.vue")

Vue.use(Router)

var routes = [
    {
        component: PublicMap,
        name: "map",
        path: "/map/:_id",
    },
]

export default new Router({
    routes,
    mode:
        "history"
})
Run Code Online (Sandbox Code Playgroud)

错误:

Uncaught SyntaxError: Unexpected token <
Run Code Online (Sandbox Code Playgroud)

Ste*_*gin 2

当您收到 时Uncaught SyntaxError: Unexpected token <,通常意味着您的转译器在未设置转译的文件中命中了元素标签“<”。

使用 Vue 时,这通常是单文件组件库<script>中的标签xyz.vue

如果您使用 PWA,则可能会缓存文件或设置。我会首先尝试使用其他未访问过该页面的浏览器,看看是否是缓存问题。如果它在其他浏览器中工作,请尝试hard refresh,或取消注册页面 Web 应用程序的 Service Worker。

如果在其他浏览器中失败,我会查看您的 webpack 和/或 vue 配置文件。

在此输入图像描述