fw / last-bundle
该包最新版本(v1.1)没有可用的许可证信息。
适用于任何Symfony 4项目的静态站点生成器。
v1.1
2018-08-31 13:36 UTC
Requires
- symfony/console: ^4.1
- symfony/framework-bundle: ^4.1
- symfony/yaml: ^4.1
Requires (Dev)
- symfony/asset: ^4.1
- symfony/phpunit-bridge: ^4.1
- symfony/twig-bundle: ^4.1
This package is auto-updated.
Last update: 2024-09-09 14:14:25 UTC
README
Last是一个用于Symfony 4应用的极简静态站点生成器。安装后,Last提供了一条命令,可以简单地创建所有路由的请求,并将结果作为静态文件输出到dist文件夹。
安装
(即将创建symfony/flex配方)
composer require fw/last-bundle
Last应该会自动注册到config/bundles.php。如果没有,请手动添加。
...
Fw\LastBundle\FwLastBundle::class => ['all' => true],
使用
现在你可以运行dump命令,你的Symfony应用就会被导出为静态HTML文件。
# will dump to the configured dist folder, defaults to %project%/dist
bin/console last:dump
# wil dump to the given folder
bin/console last:dump --dist=./custom_dist_folder
是否已准备好用于生产环境?
然而,以下功能尚未提供
- 在更多真实项目中测试
- 提供symfony/flex配方
- 在导出后自动将public/build、public/bundles/*和其他位置的资源复制到dist文件夹
配置
fw_last:
dist_folder: '%kernel.project_dir%/dist' # this is the default dist folder, if you don't set it
providers:
static: true # Static provider is enabled per default, you can disable it here
请求提供者
Last会对你的内核进行请求。因此,为了使其正常工作,必须定义所有所需的请求。为了简化,Last自带了一个用于所有静态路由(没有必填占位符的路由)的请求提供者。所以,如果你只想包含动态路由(如blog/article/{id}),你只需要实现一个自定义请求提供者。一个简单的提供者可能如下所示
use Fw\LastBundle\Router\RouteProvider;
class YourustomProvider implements RouteProvider
{
/**
* {@inheritdoc}
*/
public function getRoutes(): array
{
return [
Request::create('blog/article/1'),
Request::create('blog/article/2'),
Request::create('blog/article/3'),
];
}
}
并且需要标记为服务,以便对Last可见。
Your\CustomBundle\Provider\CustomProvider:
tags: ['fw.last.route_provider']
当然,你可以注入任何依赖,如实体管理器以创建更高级的提供者。
故障排除
我的链接以https:///开头,我该怎么做?
在模板中使用{{ path() }}而不是{{ url() }}来使你的URL相对。