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 部署。我们正在努力将此解决方案引入框架。
我尝试根据 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 部署。我们正在努力将此解决方案引入框架。