rnd-cosoft/api-tools-asset-manager

Composer 插件,用于将模块资源复制到应用程序文档根目录。

1.8.1 2024-05-10 08:25 UTC

README

Build Status

🇷🇺 俄罗斯公民

我们,Laminas 的参与者,来自不同的国家。我们中许多人都有在俄罗斯和乌克兰的朋友、亲属和同事。我们中的一些人生于俄罗斯。我们中的一些人现在住在俄罗斯。我们中的一些祖父母在二战中与法西斯作战。在这里,没有人支持法西斯主义。

我们中的一位成员有一位乌克兰亲属,她带着儿子逃离了家园。由于前方道路上的轰炸,火车延误了。我们有朋友躲在防空洞里。我们在空袭后焦急地等待他们的消息,这些空袭无差别地轰炸医院、学校、幼儿园和住宅。我们不是从任何媒体上得知这些情况。我们亲身体验到了这一切。

您足够信任我们使用我们的程序,我们再次请求您信任我们。我们需要您的帮助。走出家门,抗议这场无意义的战争。停止杀戮。说“停止战争!”

🇺🇸 致俄罗斯公民

Laminas 团队来自世界各地。我们中许多人都有在俄罗斯和乌克兰的朋友、亲属和同事。我们中的一些人生于俄罗斯。我们中的一些人现在住在俄罗斯。我们中的一些祖父母在二战中与纳粹作战。在这里,没有人支持法西斯主义。

我们的一位团队成员有一位乌克兰亲属,她和儿子一起逃离了家园。由于前方道路上的轰炸,火车延误了。我们有朋友躲在防空洞里。我们在空袭后焦急地等待他们的消息,这些空袭无差别地轰炸医院、学校、幼儿园和住宅。我们不是从任何媒体上得知这些情况。这是我们亲身体验到的。

您足够信任我们使用我们的软件。我们请求您信任我们,说出真相。我们需要您的帮助。走出家门,抗议这场无意义的战争。停止杀戮。说“停止战争!”

api-tools-asset-manager 是一个 composer 插件,它将配置的 Web 可访问资源复制到您的 Laminas 应用程序的公共文档根目录。它使用 rwoverdijk/AssetManager 的配置格式,具体来说是这个子集

'asset_manager' => [
    'resolver_configs' => [
        'paths' => [
            /* paths containing asset directories */
        ],
    ],
],

每个配置路径都会迭代,然后将其下的每个路径复制到公共树中。

安装

$ composer require --dev laminas-api-tools/api-tools-asset-manager

推荐用于开发

我们主要推荐将此模块用于开发目的。在大多数情况下,在准备生产时,应该用项目特定的资源覆盖第三方模块的资源。为了强调这一点,默认情况下将资源排除在 git 存储库之外。(您可以在稍后手动添加它们,如下所述。)

示例

以下是一个示例,假设在一个包内部具有以下目录结构

./
- asset/
  - README.md
  - gruntfile.js
  - package.json
  - api-tools/
    - css/
      - bootstrap.min.css
    - img/
      - logo.png
    - js/
      - bootstrap.min.js
      - jquery.min.js
  - api-tools-welcome/
    - css/
      - main.min.css
    - img/
      - ag-hero.png
- config/
  - module.config.php

其中 module.config.php 至少定义以下内容

return [
    'asset_manager' => [
        'resolver_configs' => [
            'paths' => [
                __DIR__ . '/../asset/'
            ],
        ],
    ],
]

当您安装此包时,资源管理器将复制 asset/api-tools/asset/api-tools-welcome/ 中的每个树到项目的 public/ 路径。单个文件 asset/README.mdasset/gruntfile.jsasset/package.json 被省略在安装中,因为它们不是目录。

此外,在安装过程中,插件会将一个.gitignore文件添加到public/路径,列出所有新目录。

# public/.gitignore
api-tools/
api-tools-welcome/

安装完成后,您可以访问任何相对于公共根目录安装的资源。

卸载

当您删除该模块时,插件将

  • 从公共树中删除为该模块配置的任何资源树。
  • public/.gitignore文件中删除与这些资源树相关的条目。

保留资源

资源默认被Git标记为忽略。此模块的主要目的是用于开发目的;它被开发出来是为了允许安装与Apiglity管理UI、欢迎界面和文档相关的资源,其中大部分仅在开发模式下相关。

但是,如果您希望保留公共树中的资源,可以按照以下步骤操作

  • 编辑public/.gitignore文件,删除您希望保留的资源树条目。
  • 将资源树添加到您的仓库中(git add public/{tree})。

public/.gitignore中删除条目足以防止卸载器在您删除模块时删除资源。