ysugimoto/flame

CodeIgniter4 的前端集成库

v0.5.0 2024-08-11 22:11 UTC

This package is auto-updated.

Last update: 2024-09-12 15:25:55 UTC


README

flameCodeIgniter4 的前端集成库。

与 vite 前端协作

此库通过 flame-vite-plugin 加载由 vite 生成的清单文件。您可以使用辅助函数指定加载资产文件,如 <script><link>

有关生成清单文件的说明,请参阅 flame-vite-plugin 文档。

安装

您可以通过 packagist 进行安装。

composer require --dev ysugimto/flame

然后运行 CodeIgniter 的命令。

php spark flame:setup

上述命令在您的 app/Config/Flame.php 中生成了包配置。您还需要加载 flame 辅助函数。修改自动加载器的配置。

# app/Config/Autoload.php

class Autoload extends AutoloadConfig
{
    ...
    public $helpers = ["flame"];
    ...
}

用法

注意

您需要先生成清单文件。

设置完成后,您可以在视图文件中使用 flame 辅助函数。

<?php echo flame("[Asset Filename]");?>

我们建议将此辅助函数调用放在 <head> 标签内或 </body> 标签之前。

预加载

为了提高脚本/样式加载性能,您可以配置 preload。要启用预加载,您还可以使用 flame_preload 辅助函数。

<?php echo flame_preload("[Asset Filename]");?>

此函数显示 <link rel="preload" ... /> 标签,因此需要在 <head> 标签内调用。

别名

在开发后端时,您可能不会考虑视图文件应该加载哪些资产文件。然后您可以将资产名称指定为别名,例如

<?php echo flame("@main");?>

在上面的例子中,@main 别名将在清单文件中解析,因此您无需关心资产文件名。要使用别名加载,请参阅 vite 插件的 别名 部分。

DevServer / HMR

vite 可以运行带有 HMR 的开发服务器,而 flame 也可以与其同步。例如,vite 命令将启动开发服务器,如 https://:5173,同时 flame-vite-plugin开发模式 生成清单文件。flame 辅助函数会自动识别清单是开发模式还是不是,并生成带有 HMR 模式的 <script> 标签。这对于使用 CodeIgniter 开发前端视图非常有用。当您更改前端文件时,CodeIgniter 显示的视图将自动重新加载。

清单加载

目前我们支持通过以下方式加载清单文件:

  • 本地文件系统
  • HTTP 请求

默认设置是 本地文件系统,但有时您的前端将通过像 AWS S3Google Cloud Storage 这样的云存储服务提供某些单页应用程序。

在这种情况下,您可以通过更改配置文件使用 HTTP 请求 清单加载。

// app/Config/Flame.php

class Flame extends FlameConfig
{
    ...
    public FetchMode $mode = FetchMode::HTTP;
    public string $baseUrl = "https://[yourdomain]/";
    ...
}

有关详细信息,请参阅配置文件中的 phpdocs。

贡献

  • 分叉此存储库
  • 自定义/修复问题
  • 发送 PR :-)
  • 或者,您可以自由为我们创建问题。我们会查看的。

作者

Yoshiaki Sugimoto sugimoto@wnotes.net

许可

MIT