提问者:小点点

我正在向“http://localhost:3000/api/index”发出GET请求,但收到404错误


我正在使用nuxt.js和mongoose和express。 我想从/api/index.js中获取数据,但总是得到一个错误。 我查阅了文件,但找不到解决办法。 当我尝试向外部API发出GET请求时,一切都很正常。 我已经尝试了axios.get('/api/index'),也没有使用async和await,我尝试了$http而不是axios,但也没有用。 在postman上,如果向http://localhost:3000/api/index发出get请求,我会得到一个错误:无法覆盖blogpost模型,一旦编译。

API/index.js

app.get('/', (req, res) =>{
  BlogPost.find(function (err, posts) {
    if (err) return console.error(err);
        posts.forEach((post) =>{
           console.log(post);
           
        });
  })
    res.send('hello')
});

module.exports = {
    path: "/api/",
    handler: app
}

nuxt.config.js

 serverMiddleware: ['~/api/index.js'],

  modules: [
    '@nuxtjs/axios',
    /* '@nuxtjs/proxy' */
  ],

  axios: {
    baseURL: 'http://localhost:3000', 
  },

我做错了什么?


共1个答案

匿名用户

AsyncData在服务器端,而您在客户端导入axios,因此axios是未定义的。 尝试使用require()导入它

async asyncData() {
   const axios = require("axios");
   // ... ure code
}