【发布时间】:2019-05-31 03:31:23
【问题描述】:
我在 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"
})
错误:
Uncaught SyntaxError: Unexpected token <
【问题讨论】:
-
“直接访问”是否意味着您在地址栏中手动输入了 URL?您也可以在此处发布
PublicMap组件。 -
这应该和你的服务器配置更相关。你应该让它总是返回你的 index.html
-
@Slim 是的,我不确定 Vue 的哪个部分可以做到这一点。我正在使用 Vue-cli3,他们说不要修改
historyApiFallback -
你能发布完整的错误吗?
-
你的应用是 PWA 吗?也许这是导致错误的原因,stackoverflow.com/questions/55155359/…,请参阅这篇文章中的答案
标签: javascript macos vue.js vuejs2 vue-cli-3