libra/libra-assets-installer

通过创建/更新到public/vendor/vendor-name文件夹的符号链接,使供应商资源(js、css、图片)可访问

安装数: 3,567

依赖关系: 9

建议者: 0

安全: 0

星标: 1

关注者: 2

分支: 2

开放问题: 0

类型:assets-installer

2.3.0 2018-01-20 07:09 UTC

This package is not auto-updated.

Last update: 2024-09-14 11:43:25 UTC


README

##描述 此软件包将帮助您使用根目录下public目录中舒适的结构来开发供应商软件包。它将在public目录下创建指向该文件夹的符号链接 public/vendor/vendor-name/package-name。因此,public/css/screen.css文件可以通过以下方式在视图中访问

$this->basePath() . '/vendor/vendor-name/package-name/css/screen.css';

在2.0.0版本中,安装逻辑已更改,使用自定义安装程序并依赖于软件包类型。

  • 如果您的软件包是像jQuery、jQuery-ui或twitter-bootsrap等资源,您应该将软件包类型设置为asset。然后添加到require列表中此软件包,如下所示

    {
        "name":         "vendor-name/asset-package-name",
        "type":         "asset"
        "require": {
            "libra/libra-assets-installer":     "~2.0"
        }
    }
    

    安装后,资源将位于 public/vendor/vendor-name/asset-package-name

  • 如果您创建标准ZF2模块,其中包含public目录中的公共资源
    则使用 "type": "asset-aware"

    {
        "name":         "vendor-name/package-with-assets-name",
        "type":         "asset-aware"
        "require": {
            "libra/libra-assets-installer":     "~2.0"
        }
    }
    

    然后 package-with-assets-name/public 文件夹的内容将被符号链接或失败时复制到 public/vendor/vendor-name/package-with-assets-name

所以两种情况下的URL都将相同。

##选项 可用选项(格式“type default”)

  • public-dir(仅适用于根软件包)
    • 如果您希望将资源放入另一个文件夹,请在上方放置其名称
  • package-asset-dir(对于类型 = asset不可用)
    • 如果您的资源目录有另一个名称,请在上方放置它
  • add-target-dir: bool false/true(可能适用于symfony捆绑包)
    • 如果启用,将目标目录路径添加到public资源路径
    • 自v3.0以来始终为 true,已弃用。

一些示例

    "extra": {
        "package-asset-dir": "assets"
    }

在根软件包中

    {
        "config": {
            "public-dir": "httdocs",
        }
    }

注意! 对于Zend Framework 2模块,通常不需要设置任何配置。

##版本1.*的说明 尽管它甚至在2.*版本中也能正常工作,但您不应该在后期版本中依赖该功能。该功能可以在更高版本中随时删除,但在1.版本中将存在。我鼓励使用2.版本。

注意:为了使此模块正常工作,您应该首先在composer.json中将其设置为所需的列表中的第一个项目。它也支持Windows Vista/Windows Server 2008或更高版本,请参阅php文档。但实际测试仅在Linux下进行。它使用 symlink 函数,因此我在Windows上的行为未知。

###使用:在根composer.json中,将此软件包添加到所需列表中的第一个项目。在根composer中添加以下行

    "scripts": {
        "post-package-install":  "LibraAssetsInstaller\\Installer::postPackageInstall",
        "pre-package-uninstall": "LibraAssetsInstaller\\Installer::prePackageUninstall",
        "post-package-update":   "LibraAssetsInstaller\\Installer::postPackageUpdate"
    }

最初是为Libra CMS创建的。