我试图从端点中获取一个列表,但它会抛出错误404,它可以从Postman获得,但在应用程序中不起作用。我在应用程序根文件夹中手动创建了.env文件。
错误消息显示GET http://localhost:5173/user/projects 404 (Not Found)
.env:
VUE_APP_API_URL=http://localhost:8000
VUE_APP_PUBLIC_PATH=/
src/services/api.js:
import axios from 'axios';
// eslint-disable-next-line no-undef
const api = axios.create({ baseURL: process.env.NODE_ENV.VUE_APP_API_URL });
export default api;
vite.config.ts:
import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
import AutoImport from 'unplugin-auto-import/vite'
import VueRouter from 'unplugin-vue-router/vite'
import { VueRouterAutoImports } from 'unplugin-vue-router'
import Components from 'unplugin-vue-components/vite'
import { HeadlessUiResolver } from 'unplugin-vue-components/resolvers'
export default defineConfig({
plugins: [
VueRouter({}),
vue(),
Components({ resolvers: [HeadlessUiResolver()] }),
AutoImport({
imports: ['vue', '@vueuse/head', VueRouterAutoImports],
}),
],
server: {
open: true,
},
})
src/pages/Projects/index.vue:
async function listProjects() {
let projects = [];
let projectsResponse = '';
projectsResponse = await api.get('/user/projects');
if (projectsResponse) {
projects = projectsResponse.data.projects;
}
if (!projects || !projects.length) {
projects = [];
return;
}
projects = projects;
}
端点是http://127.0.0.1:8000/user/projects
,它从postman (后端在本地运行)工作。
发布于 2022-09-05 15:37:45
由于您使用的是Vite,所以应该使用import.meta.env
而不是process.env
来导入环境变量。所以您应该用:baseURL: import.meta.env.VUE_APP_API_URL
设置基url。
见Vite文档。
发布于 2022-09-05 14:14:49
process.env.VUE_APP_API_URL
是访问您定义的env变量所需的。
import axios from 'axios';
// eslint-disable-next-line no-undef
const api = axios.create({ baseURL: process.env.VUE_APP_API_URL});
export default api;
https://stackoverflow.com/questions/73610707
复制相似问题