srigi/webloader-require-filter

为 janmarek/webloader 的 Sprockets 指令插件(过滤器)

0.2.3 2016-08-04 07:42 UTC

This package is not auto-updated.

Last update: 2024-09-14 19:14:46 UTC


README

Build Status Latest Stable Version Composer Downloads

这是一个为 janmarek/webloader 提供的插件,它添加了在您的 JavaScript 和 CoffeeScript 文件中解释 Sprockets 指令的能力。它基于 rafacgarciaa/php-lilo

Lilo 是一个快速引擎,允许您使用 Sprockets 指令的子集扫描文件以提取依赖图。以下指令被支持

//= require
//= require_directory
//= require_tree

有关更多信息,请访问 Sprockets

使用方法(JavaScript)

在您的 JavaScript 文件中,编写 Sprockets 风格的注释来指示依赖关系,例如

//= require ../bower_components/jquery/dist/jquery.js

如果您想引入整个文件夹中的文件,使用

//= require_tree libs

请注意,sprocket 指令必须在 JavaScript 文件的顶部!

//= require ../bower_components/jquery/dist/jquery.js

;(function($) {
  // your code

}(jQuery))

安装(Webloader)

通过 Composer 安装此包

composer require srigi/webloader-require-filter

配置 Webloader 以使用过滤器

services:
    requireFilter: Srigi\Webloader\Filters\RequireFilter

extensions:
    webloader:
        js:
            default:
                sourceDir: %wwwDir%/../assets/scripts
                joinFiles: not(%debugMode%)
                fileFilters:
                    - @requireFilter
                watchFiles:
                    - {files: ["*.js"], from: %wwwDir%/../assets/scripts}

默认情况下,webloader-require-filter 与 JavaScript 文件一起工作。您也可以处理 CoffeeScript 文件,只需配置服务

services:
    requireFilter: Srigi\Webloader\Filters\RequireFilter(['js', 'coffee'])

目前,webloader-require-filter 在处理文件的 sourceDir 中搜索依赖项。请勿忘记在您的 Webloader 配置中设置 sourceDir

致谢

  • Lilo,一个受 Sprockets 启发的 PHP 文件连接工具
  • Sprockets,基于 Rack 的资产打包系统