【发布时间】:2019-10-29 13:38:35
【问题描述】:
我正在开始一个新项目,Nuxt.js 用于前端,Laravel 用于后端。
如何将两者联系起来?
我已经使用 create-nuxt-app 安装了一个新的 Nuxt 项目,以及一个新的 laravel 项目。
据我搜索,我认为我需要某种环境变量。
在我的 nuxt 项目中,我添加了 dotenv 包,并在 nuxt 项目的根目录下放置了一个新的 .env 文件。
并在我的 laravel 项目中添加了 CORS,因为我遇到了一个错误。
里面的变量确实可以从项目中访问,我正在使用它们 像这样:
APP_NAME=TestProjectName
API_URL=http://127.0.0.1:8000
并像这样访问它:
process.env.APP_NAME等'
为了进行 HTTP 调用,我使用的是 nuxt.js 的官方 Axios 模块,为了测试它,我在默认提供的组件之一中使用了它。
后端:
Route::get('/', function () {
return "Hello from Laravel API";
});
从组件内部:
console.log(process.env.API_URL)//Gives 127.0.0.1:8000
//But this gives undefined
this.$axios.$get(process.env.API_URL).then((response) => {
console.log(response);
});
}
我在这里做错了什么? 我已尽力描述我的设置和问题。如果我忽略了什么,请告诉我,我会更新我的问题。谢谢。
【问题讨论】:
-
究竟什么是未定义的?
-
我得到的响应。 @piscator
-
您的路线是在
web.php或api.php中定义的吗?对于api.php,您必须在所有路由中添加/api前缀,即http://127.0.0.1:8000/api。您也可以尝试在浏览器中访问该 url,以确保路由存在。
标签: laravel vuejs2 nuxt.js laravel-6