Я хочу использовать обратный прокси-сервер для своего веб-приложения SPA.Я использую Vue с Webpack.За обратным прокси-сервером веб-приложения я получаю сообщение об ошибке "app.6b786574.js: 1 Uncaught SyntaxError: Неожиданный токен <" из-за нахождения за обратным прокси-сервером. </p>
Я добавил конфигурацию перезаписи точно так, как указано в Vueдокументы для Vue Router (скопируйте, вставьте раздел caddy в Caddyfile).Также добавлено предостережение.
Я также попытался установить в vue.config.js publicPath в '/', однако это не очень хорошая привычка, но мне пришлось попробовать.
Я также пробовал с прозрачной опцией конфигурации caddy.Пока безуспешно.
Или, например, добавил
Но я считаю, что этого не требуется.
Текущий Caddyfile выглядит следующим образом:
:443 {
proxy / localhost:8081 {
transparent
}
rewrite {
regexp .*
to {path} /
}
}
my vue.config.js:
module.exports = {
transpileDependencies: ['vue-octicon'],
configureWebpack: {
devtool: 'source-map'
},
devServer: {
port: 8081,
proxy: {
'^/api': {
target: 'http://localhost:8080',
ws: true,
changeOrigin: true
},
'^/oauth': {
target: 'http://localhost:9090'
},
'^/me': {
target: 'http://localhost:9090',
changeOrigin: true,
ws: true
},
'^/product/product': {
target: 'http://localhost:9200',
changeOrigin: true,
ws: true
}
}
}
}
и index.html:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width,initial-scale=1.0">
<base href="/" />
<link rel="icon" href="<%= BASE_URL %>favicon.ico">
<title>front-end</title>
</head>
<body>
<noscript>
<strong>We're sorry but front-end doesn't work properly without JavaScript enabled. Please enable it to continue.</strong>
</noscript>
<div id="app"></div>
<!-- built files will be auto injected -->
</body>
</html>
vue router, временно отключен, но не помогло:
import Vue from 'vue'
import store from './store'
import Router from 'vue-router'
// some component imports
Vue.use(Router)
const ifAuthenticated = (to, from, next) => {
if (store.getters.isAuthenticated) {
next()
return
}
next('/')
}
export default new Router({
mode: 'history',
base: process.env.BASE_URL,
routes: [
{
path: '/',
name: 'home',
component: Home
},
{
path: '/negotiation',
beforeEnter: ifAuthenticated,
// component: () => import(/* webpackChunkName: "negotiation" */ './views/Negotiation.vue')
component: Negotiation
},
{
path: '/marketplace',
component: MarketPlace,
children: [
{
path: '',
component: Search
},
{
path: 'add-api',
component: AddAPI
}
]
},
{
path: '/user',
name: 'user',
beforeEnter: ifAuthenticated,
component: User
// component: () => import(/* webpackChunkName: "user" */ './views/User.vue')
},
{ path: '*', component: Home }
]
})
Ожидаетсяпросто чтобы увидеть сайт.Нет ошибок webpack-ish из-за нахождения обратного прокси.