将 Vue js 前端和 laravel 后端(api 路由)托管到共享服务器?
Hosting a Vue js frontend and laravel backend(api routes) to a shared server?
我使用 vue js 作为前端库,laravel 作为后端框架构建了一个单页 Web 应用程序。现在是时候将它托管在共享托管服务上了,并且还没有找到任何明确的步骤来说明如何使用编程的 Api 加载路径成功地做到这一点。
我将 laravel public 文件夹的内容和 vue js 的构建文件复制到共享主机中的 public_html 文件夹。然后它在没有来自后端的数据的情况下加载前端。
我是否必须为后端和前端使用两个单独的 IP 地址,或者是否可以使用相同的共享托管存储来部署我的 Vue js 前端和 laravel 后端(api 路由)。
//index.php of laravel
<?php
require __DIR__.'/../jewelpack_app/vendor/autoload.php';
$app = require_once __DIR__.'/../jewelpack_app/bootstrap/app.php';
$kernel = $app->make(Illuminate\Contracts\Http\Kernel::class);
$response = $kernel->handle(
$request = Illuminate\Http\Request::capture()
);
$response->send();
$kernel->terminate($request, $response);
?>
//web.php of laravel routes
<?php
Route::get('/{any}', function(){
return view('index');//pointing to the index file of the frontend
})->where('any', '.*');
?>
首先,您应该将 laravel 项目分开到 2 个文件夹
- 将 public 重命名为 public_html,复制并覆盖到共享主机 public_html 文件夹
- 创建一个名为 'laravel' 的新文件夹,将其余项目数据复制到其中并使用 FTP 进入托管,其中路径与您的 public_html 相同。例如:/var/www/laravel/ , /var/www/public_html/
- 在 public_html
中编辑 index.php
$app = require_once DIR.’/../bootstrap/app.php’;
到
$app = require_once DIR.’/../laravel/bootstrap/app.php’;
对于 laravel 5 添加:
$app->bind('path.public', function() {
return __DIR__;
});
希望这能解决您的问题。
实际上问题出在我的域上。我将我的临时网页 url 用于托管过程。在我注册我的域名后,一切正常。
谢谢!
我使用 vue js 作为前端库,laravel 作为后端框架构建了一个单页 Web 应用程序。现在是时候将它托管在共享托管服务上了,并且还没有找到任何明确的步骤来说明如何使用编程的 Api 加载路径成功地做到这一点。
我将 laravel public 文件夹的内容和 vue js 的构建文件复制到共享主机中的 public_html 文件夹。然后它在没有来自后端的数据的情况下加载前端。 我是否必须为后端和前端使用两个单独的 IP 地址,或者是否可以使用相同的共享托管存储来部署我的 Vue js 前端和 laravel 后端(api 路由)。
//index.php of laravel
<?php
require __DIR__.'/../jewelpack_app/vendor/autoload.php';
$app = require_once __DIR__.'/../jewelpack_app/bootstrap/app.php';
$kernel = $app->make(Illuminate\Contracts\Http\Kernel::class);
$response = $kernel->handle(
$request = Illuminate\Http\Request::capture()
);
$response->send();
$kernel->terminate($request, $response);
?>
//web.php of laravel routes
<?php
Route::get('/{any}', function(){
return view('index');//pointing to the index file of the frontend
})->where('any', '.*');
?>
首先,您应该将 laravel 项目分开到 2 个文件夹
- 将 public 重命名为 public_html,复制并覆盖到共享主机 public_html 文件夹
- 创建一个名为 'laravel' 的新文件夹,将其余项目数据复制到其中并使用 FTP 进入托管,其中路径与您的 public_html 相同。例如:/var/www/laravel/ , /var/www/public_html/
- 在 public_html 中编辑 index.php
$app = require_once DIR.’/../bootstrap/app.php’;
到
$app = require_once DIR.’/../laravel/bootstrap/app.php’;
对于 laravel 5 添加:
$app->bind('path.public', function() {
return __DIR__;
});
希望这能解决您的问题。
实际上问题出在我的域上。我将我的临时网页 url 用于托管过程。在我注册我的域名后,一切正常。 谢谢!