使用Composer Asset Packagist为Drupal下载和管理第三方库

大伟哥 提交于 2020-07-10,周五, 11:15

在启用了facets模块的Facets Range Widget子模块后,你会在Drupal后台的状态报告页面看到一条警告:

Facets range slider
The jquery ui slider pips library is not installed.
The range slider library is not installed, check the README.txt for more information 
and the documentation for information on how to install a library.

按照这个README上的说明,这个缺失的库可以直接下载到libraries目录里去,但是作为一个已入Composer坑的Drupal用户来说,能使用Composer来安装和管理这些不被包含在Drupal核心和模块里的第三方Javascript和CSS库吗?答案是可以的,需要使用Asset Packagist来获取BOWER或者NPM的库,这要结合Composer Installers Extender来实现。

1.安装Composer Installers Extender库。

composer require oomphinc/composer-installers-extender

2.在composer.json里添加Asset Packagist作为项目的“repositories":

    "repositories": [
        {
            "type": "composer",
            "url": "https://packages.drupal.org/8"
        },
        {
            "type": "composer",
            "url": "https://asset-packagist.org"
        }
    ],

3.在composer.json里的extra部分添加安装类型及指定安装目录:

        "installer-types":["npm-asset", "bower-asset"],
        "installer-paths": {
            "web/libraries/{$name}": [
                "type:drupal-library",
                "type:bower-asset",
                "type:npm-asset"
            ],

这样配置完成并保存以后,Composer就可以自动把bower-asset或者npm-asset里的库下载到web/libraries目录里去了。

以jquery ui slider pips这个bower asset里的包为例,我们可以像普通PHP库一样,使用下列命令下载:

composer require bower-asset/jquery-ui-slider-pips:^1.11
文章分类

标签

添加新评论

此字段内容将保密,不会被其他人看见。

受限制的 HTML

  • 允许的HTML标签:<a href hreflang> <em> <strong> <cite> <blockquote cite> <code> <ul type> <ol start type> <li> <dl> <dt> <dd> <h2 id> <h3 id> <h4 id> <h5 id> <h6 id>
  • 自动断行和分段。
  • 网页和电子邮件地址自动转换为链接。
验证码
发布评论前,请通过下面的验证,以免被当作垃圾评论机器人屏蔽。
12 + 0 =
计算出这道简单的算术题并键入答案。例如、1+3,就输入 4。