Sidecar Browsershot 项目教程
1. 项目的目录结构及介绍
Sidecar Browsershot 项目的目录结构如下:
sidecar-browsershot/
├── src/
│ ├── Functions/
│ │ └── BrowsershotFunction.php
│ ├── BrowsershotLambda.php
│ └── SidecarBrowsershotServiceProvider.php
├── config/
│ └── sidecar-browsershot.php
├── composer.json
├── README.md
└── ...
目录结构介绍
-
src/: 包含项目的核心代码。
- Functions/: 包含 Lambda 函数的实现,例如
BrowsershotFunction.php
。 - BrowsershotLambda.php: 提供与 Browsershot 类似的功能,但运行在 AWS Lambda 上。
- SidecarBrowsershotServiceProvider.php: Laravel 服务提供者,用于注册和配置 Sidecar Browsershot。
- Functions/: 包含 Lambda 函数的实现,例如
-
config/: 包含项目的配置文件,例如
sidecar-browsershot.php
。 -
composer.json: 项目的 Composer 依赖文件。
-
README.md: 项目的说明文档。
2. 项目的启动文件介绍
Sidecar Browsershot 项目的启动文件主要是 SidecarBrowsershotServiceProvider.php
。这个文件是 Laravel 服务提供者,负责注册和配置 Sidecar Browsershot 服务。
SidecarBrowsershotServiceProvider.php
namespace Wnx\SidecarBrowsershot;
use Illuminate\Support\ServiceProvider;
class SidecarBrowsershotServiceProvider extends ServiceProvider
{
public function boot()
{
$this->publishes([
__DIR__.'/../config/sidecar-browsershot.php' => config_path('sidecar-browsershot.php'),
], 'sidecar-browsershot-config');
}
public function register()
{
$this->mergeConfigFrom(
__DIR__.'/../config/sidecar-browsershot.php', 'sidecar-browsershot'
);
}
}
启动文件介绍
- boot(): 发布配置文件到 Laravel 的配置目录。
- register(): 合并默认配置文件到 Laravel 的配置中。
3. 项目的配置文件介绍
Sidecar Browsershot 的配置文件位于 config/sidecar-browsershot.php
。这个文件包含了项目的配置选项。
sidecar-browsershot.php
return [
'functions' => [
\Wnx\SidecarBrowsershot\Functions\BrowsershotFunction::class,
],
];
配置文件介绍
- functions: 注册需要部署的 Lambda 函数类。在这个例子中,注册了
BrowsershotFunction::class
。
通过以上配置,你可以轻松地在 AWS Lambda 上运行 Browsershot,而无需在服务器上安装 Node、Puppeteer 或 Google Chrome。