fw/last-bundle

该包最新版本(v1.1)没有可用的许可证信息。

适用于任何Symfony 4项目的静态站点生成器。

维护者

详细信息

github.com/franzwilding/last

来源

问题

安装: 144

依赖者: 0

建议者: 0

安全: 0

星星: 11

观察者: 6

分支: 3

开放问题: 1

类型:symfony-bundle

v1.1 2018-08-31 13:36 UTC

This package is auto-updated.

Last update: 2024-09-09 14:14:25 UTC


README

Build Status Test Coverage

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相对。