错误描述
- 用vue3+ts构建的项目。基本结构就是登录页+内容页
- 本地运行正常,通过本地ip地址访问也正常。(运行的命令是"webpack serve --config webpack/webpack.config.js --env env=dev")
- 重点来了,别人通过我的ip能访问到登录页,但是点击登录进行路由跳转的时候出错了。控制台错误如下:
解决
破案了,是兼容问题。建议检查下报错人的浏览器版本,然后打包的时候做一下兼容即可。
webpack.common.js
{
test: /\.(ts|js)$/,
exclude: /node_modules/,
use: [
{
loader: "babel-loader"
}
]
},
.babelrc
{
"presets": [
[
"@babel/preset-env",
{
"targets": {
// + 要兼容的浏览器
"chrome": "71"
}
}
],
[
"@babel/typescript",
{
"allExtensions": true,
"isTSX": true
}
]
]
}
后记
之前也碰过一次兼容问题,根据我的经验,如果是兼容问题,一般都会报下面的错误,即语法错误。打包的时候降下js版本就可以了,如果没用打包工具就检查下语法。
Uncaught SyntaxError:unexpected token [xxx]
单纯你看报错信息是你的路由守卫里面的业务代码报错了导致的。
uncaught error during route navigation
检查以下你的路由守卫里面的业务代码哪里有问题吧,贴上来的
routes.ts
里面没看到你有写。