无法使用 nuxt 中的 axios 从正确的位置获取
Cannot GET from correct location with axios in nuxt
我遇到的问题似乎是 axios 在发布到构建时忽略了我的 GET 路径,但在开发模式下按预期工作。
我正在使用以下方法检索本地 .html 文件并将它们解析到我的 vue 组件中。
<template>
<div>
<div v-html="message"></div>
</div>
</template>
<script>
import axios from 'axios';
export default {
data () {
return {
message: '',
}
},
async mounted(){
const mypath = 'http://***.com/posts/' + this.$route.params.post + '.html';
const ip = await this.$axios.$get(mypath);
this.message = ip;
}
}
</script>
这个 .vue 位于 "pages/blogs/posts/_post.vue"
我的 .html 文件位于 "static/posts/examplepost.html"
当 运行 处于开发模式时,如果我将路径的第一部分更改为“http://localhost:3000/posts/”或只是“/posts/”,则一切正常。
但是,当我发布到网络并 link 发布到博客 post url 时,我在以下路径收到 404:"https://***.com/blogs/posts/examplepost.html"
为什么这在开发模式下有效,但在构建时却无效?
我尝试将 posts 移动到“/blogs/posts/”位置,并尝试创建一个新的 axios 实例并直接在我的组件中设置 baseURL 并获得相同的结果。
找到问题了。
问题是我使用 <a>
来创建指向由“_post.vue”
创建的各个页面的链接
<a :href="'posts/' + blog.link">
使用<nuxt-link>
,就像到处推荐的一样,解决了问题:
<nuxt-link :to="'posts/' + blog.link">
我遇到的问题似乎是 axios 在发布到构建时忽略了我的 GET 路径,但在开发模式下按预期工作。
我正在使用以下方法检索本地 .html 文件并将它们解析到我的 vue 组件中。
<template>
<div>
<div v-html="message"></div>
</div>
</template>
<script>
import axios from 'axios';
export default {
data () {
return {
message: '',
}
},
async mounted(){
const mypath = 'http://***.com/posts/' + this.$route.params.post + '.html';
const ip = await this.$axios.$get(mypath);
this.message = ip;
}
}
</script>
这个 .vue 位于 "pages/blogs/posts/_post.vue"
我的 .html 文件位于 "static/posts/examplepost.html"
当 运行 处于开发模式时,如果我将路径的第一部分更改为“http://localhost:3000/posts/”或只是“/posts/”,则一切正常。
但是,当我发布到网络并 link 发布到博客 post url 时,我在以下路径收到 404:"https://***.com/blogs/posts/examplepost.html"
为什么这在开发模式下有效,但在构建时却无效?
我尝试将 posts 移动到“/blogs/posts/”位置,并尝试创建一个新的 axios 实例并直接在我的组件中设置 baseURL 并获得相同的结果。
找到问题了。
问题是我使用 <a>
来创建指向由“_post.vue”
<a :href="'posts/' + blog.link">
使用<nuxt-link>
,就像到处推荐的一样,解决了问题:
<nuxt-link :to="'posts/' + blog.link">