zfcampus / zf-asset-manager
1.2.0
2017-11-02 22:28 UTC
Requires
- php: ^5.6 || ^7.0
- composer-plugin-api: ^1.1
Requires (Dev)
- composer/composer: >=1.0.0-alpha10
- mikey179/vfsstream: ^1.6
- phpunit/phpunit: ^5.7.23 || ^6.4.3
- squizlabs/php_codesniffer: ^2.6.2
README
仓库于2019-12-31被弃用
zf-asset-manager是一个Composer插件,它将配置的Web可访问资产复制到您的Zend Framework应用程序的公共文档根中。它使用rwoverdijk/AssetManager的配置格式,以及特定的子集
'asset_manager' => [ 'resolver_configs' => [ 'paths' => [ /* paths containing asset directories */ ], ], ],
遍历每个配置的路径,然后将其下的每个路径复制到公共树中。
安装
$ composer require --dev zfcampus/zf-asset-manager
推荐用于开发
我们建议主要将此模块用于开发目的。在大多数情况下,在准备生产时,应该用项目特定的资产覆盖第三方模块的资产。为了强调这一点,资产默认情况下被排除在git仓库之外。(您可以在稍后手动添加它们,如下文所述。)
示例
以下是一个示例,假设在一个包内部有以下的目录结构
./
- asset/
- README.md
- gruntfile.js
- package.json
- zf-apigility/
- css/
- bootstrap.min.css
- img/
- logo.png
- js/
- bootstrap.min.js
- jquery.min.js
- zf-apigility-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/zf-apigility/
和 asset/zf-apigility-welcome/
树复制到项目的 public/
路径。由于它们不是目录,省略了单独的文件 asset/README.md
、asset/gruntfile.js
和 asset/package.json
。
此外,在安装过程中,插件还会在 public/
路径中添加一个 .gitignore
文件,列出每个新目录
# public/.gitignore
zf-apigility/
zf-apigility-welcome/
安装完成后,您可以访问相对于公共根目录安装的任何资产。
卸载
当您删除模块时,插件将
- 从公共树中删除为模块配置的任何资产树。
- 从
public/.gitignore
文件中删除与那些资产树相关的条目。
保留资产
资产默认情况下被Git标记为忽略。此模块的主要目的是用于开发;它被开发出来以允许安装与Apiglity管理UI、欢迎屏幕和文档相关的资产,其中大多数仅在开发模式下相关。
但是,如果您希望保留公共树中的资产,可以按照以下方式操作
- 编辑
public/.gitignore
文件,删除您希望保留的资产树条目。 - 将资产树添加到您的仓库中(
git add public/{tree}
)。
从 public/.gitignore
中删除条目就足以防止在删除模块时卸载器删除资产。