AWS Amplify 重定向中间件 NuxtJs 请求不起作用

AWS Amplify redirect middleware NuxtJs requests not working

我尝试根据 https://docs.amplify.aws/guides/hosting/nuxt/q/platform/js/

将 vuestorefront(nuxtjs 应用程序)部署到 AWS Amplify

我的 amplify.yml 包含:

version: 1
frontend:
  phases:
    preBuild:
      commands:
        - yarn install
    build:
      commands:
        - yarn run generate
  artifacts:
    baseDirectory: dist
    files:
      - '**/*'
  cache:
    paths:
      - node_modules/**/*

然后我将下一个数据设置到 redirect & rewrites 部分:

[
    {
        "source": "/<*>",
        "target": "/index.html",
        "status": "404-200",
        "condition": null
    },
    {
        "source": "</^[^.]+$|\.(?!(css|gif|ico|jpg|js|png|txt|svg|woff|ttf|map|json)$)([^.]+$)/>",
        "target": "/index.html",
        "status": "200",
        "condition": null
    }
]

但是,发送到 Middlerware 的请求会生成带有“已取消”的“301”,如下例所示:

我有一个表单到 page.vue 中间件调用:

import oauthToken from '~/api/getToken';
...
  methods: {
    singIn(e) {
      oauthToken(this.email, this.password);

文件~/api/getToken有一个axios调用中间件:

import axios from 'axios';

const oauthToken = (email, password) => {
  let result;
  axios({
    method: 'GET', url: '/oauth2.js',
    headers: { email, password, },
  })
    .then((res) => {
      console.log(JSON.parse(JSON.stringify(res.data.access_token)));
    })
    .catch((err) => console.log(err));

  return result;
};

export default oauthToken;

/oauth2.js 获取(在 server-middleware/custom-features.js 中):

app.get('/oauth2.js', (req, res) => {
...
      res.status(200).send(response.data);
}

Vue Storefront 需要活动节点服务器,尚不支持进行 Lambda 部署。我们正在努力将此解决方案引入框架。