我正在使用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',
},
我做错了什么?
AsyncData
在服务器端,而您在客户端导入axios,因此axios是未定义的。 尝试使用require()
导入它
async asyncData() {
const axios = require("axios");
// ... ure code
}