Skip to content

常见问题

一、后台菜单无效

CRUD 生成的菜单

请先确定您已启动 开发服务,正常流程是于开发环境生成 CRUD,开发完毕后再 部署 至生产环境。

自建的菜单规则

  1. 请检查 组件路径 是否正确。
  2. 检查组件所在目录,后台的菜单请将组件放置于 /src/views/admin/ 目录内(否则无法加载到)。
  3. CRUD 生成一个菜单进行对比,以及尝试打开它来排除环境问题。

二、请求跨域错误

您在 开发服务

  1. 开发服务下,请使用 localhost:1818 访问站点,服务端已经放行该域名,请勿使用 IP 访问(默认情况下 192.168.3.1 这类肯定不能跨域,127.0.0.1 正常)。
  2. 无需修改 web/.env.development 文件,API 地址已正确配置(除非你明白你在做什么)。

您在 生产环境

请提前于 config\cors.yaml 文件中,配置好允许跨域的域名,如服务端部署至 ask-api.test.com,前端部署至 ask.test.com,则需要允许 ask.test.com 跨域请求,配置示例如下:

yaml
cors:
  origins:
    - localhost
    - 127.0.0.1
    - ask.test.com # 这行是新增的,无需协议/端口
  methods:
    - GET
    - POST
    - PUT
    - PATCH
    - DELETE
    - HEAD
    - OPTIONS
  headers:
    - "*"
  max_age: 86400

TIP

限制跨域请求是浏览器干的,但 通过服务端发送允许跨域的请求头 是唯一的正派跨域解决方案,反向代理、JSONP‌、中间件代理等,都是歪门邪道。