ymcatwincities / vendor_stream_wrapper
创建vendor://流包装器,允许在供应商目录中链接/嵌入CSS和JS文件。
dev-8.x-1.x
2020-07-28 11:40 UTC
This package is auto-updated.
Last update: 2024-08-28 20:37:57 UTC
README
概述
Drupal和Composer一起使用非常适合管理可集成到Drupal站点的外部库。将/vendor目录放在webroot之外是一个好习惯,这正是Drupal Composer模板所做到的。然而,将供应商移动出webroot的问题在于尝试提供/vendor目录中文件的公开URL时,例如CSS或JS文件,这些文件是外部库的一部分。
此模块提供了一种新的流包装器vendor://
,允许引用供应商目录中的文件。它的工作方式与Drupal核心提供的private://
文件包装器非常相似。与此流包装器一起,此模块设置*.libraries.yml
文件以解析vendor://
引用,如下面的示例所示
example.libraries.yml
some_library:
js:
vendor://vendor-name/package-name/js/some_file.js: {}
css:
theme:
vendor://vendor-name/package-name/css/some_file.css: {}
此模块还提供辅助函数vendor_stream_wrapper_create_url()
,用于将供应商文件解析为公开URL
$public_url = vendor_stream_wrapper_create_url(
'vendor://vendor/package/file.css'
);
配置
此模块首先在../vendor
中查找供应商,然后是./vendor
。如果找不到供应商文件夹,将抛出异常。如果您的供应商文件夹位于这两个位置之外,则可以通过将以下内容添加到settings.php来告诉系统在哪里找到它
$settings['vendor_file_path'] = 'path/to/vendor/folder';