使用Nginx将Vue2(webpack)应用托管在子目录中

时间:2018-10-11 05:39:19

标签: javascript docker nginx vue.js

我在子目录下的生产服务器中托管Vue2(Webpack)应用程序时遇到问题。

我的环境是:

  • 用于将domain.com/admin路由到docker容器内的内部nginx的外部nginx。

外部nginx配置:

location /admin {
  proxy_set_header X-Forwarded-Host $host;
  proxy_set_header X-Forwarded-Server $host;
  proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  proxy_set_header X-Forwarded-Proto $scheme;

  proxy_pass http://example.com:8285;
  proxy_redirect default;
}

Docker容器内部的Nginx配置:

server {
  listen 80;
  server_name localhost;

  location / {
    root /usr/share/nginx/html;
    try_files $uri $uri/ /index.html;
  }
}

现在是Vue配置。

config.prod.env.js:

'use strict'
module.exports = {
  NODE_ENV: '"production"',
  ROUTER_BASE: '"/admin/"'
}

将行添加到路由器实例:

base: process.env.ROUTER_BASE

config / index.js 在构建块下:

assetsRoot: path.resolve(__dirname, '../dist'),
assetsSubDirectory: 'static',
assetsPublicPath: '/admin',

当我尝试在浏览器中打开我的应用程序时,它显示错误Unexpected token <。源代码正确显示了指向我的资产的链接,但是如果我从源代码打开到.js / .css文件的任何链接,它将打开空白。我想念什么?

0 个答案:

没有答案