laminas-api-tools/api-tools-asset-manager

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

资助包维护!
社区桥

安装次数: 462,795

依赖者: 5

建议者: 5

安全: 0

星星: 7

关注者: 10

分支: 9

开放问题: 3

类型:composer-plugin

1.7.0 2023-01-09 19:02 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根目录安装的任何资源。

卸载

当您删除模块时,插件将

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

保留资源

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

然而,如果您希望保留public树中的资源,可以按照以下步骤操作

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

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