henryvolkmer / asset-publisher
该包最新版本(1.0.2)没有可用的许可信息。
如果你不能使用Webpack,则可以使用这个简化的资产发布器。
1.0.2
2023-07-17 12:51 UTC
Requires
- symfony/config: >= 5.4 || ^6.1
- symfony/dependency-injection: >= 5.4 || ^6.1
- symfony/filesystem: >= 5.4 || ^6.1
- symfony/http-kernel: >= 5.4 || ^6.1
This package is auto-updated.
Last update: 2024-09-17 15:44:17 UTC
README
这是一个轻量级的资产发布器。大多数资产(如图片、CSS、JavaScript文件)位于项目的 vendor/
目录或其他受保护文件夹中,无法通过用户的浏览器访问。
在包配置中的“assets”部分提供了发布策略。键 sources
定义了一个资产源数组。源数组键定义了目标文件名。
在这个例子中,bootstrap.css 被复制到 %kernel.project_dir%/web/assets/style.css
publicpath: "%kernel.project_dir%/web/assets" sources: styles.css: - "%kernel.project_dir%/vendor/bootstrap/bootstrap.css"
让我们看看这个配置文件(config/packages/assets.yml
)
asset_publisher: assets: publicpath: "%kernel.project_dir%/web/assets" sources: # symlink: the folder "pictures" will be symlinked to web/assets/images images: - "%kernel.project_dir%/app/Resources/Views/pictures" # merge: asset-source are multiple files, all files will be merged into "web/assets/style.css" styles.css: - "%kernel.project_dir%/web/libs/library/extern-js/jquery-ui/jquery.tooltip.css" - "%kernel.project_dir%/web/libs/library/extern-js/fancybox/jquery.fancybox-1.3.4.css" # copy: asset-source is a single file and will be copied to web/assets/js-tree.min.css js-tree.min.css: - "%kernel.project_dir%/web/libs/library/extern-js/jstree/themes/default/style.min.css"
发布策略
符号链接
从资产源创建到公开路径的符号链接
- 源必须是目录
合并
合并所有资产源文件到一个共同的公开文件。
- 源必须包含至少两个文件
复制
将资产源复制到公开路径
- 源必须是单个文件
安装
composer require henryvolkmer/asset-publisher
- 在 bundles.php 中注册该包
<?php // config/bundles.php return [ // ... Henry\AssetPublisherBundle\AssetPublisherBundle::class => ['all' => true],