99designs / silex-assets
该包已被废弃且不再维护。未建议替代包。
使用 make 的资产管道
v1.1.0
2014-12-16 05:36 UTC
Requires
- php: >=5.3.3
Requires (Dev)
- phpunit/phpunit: ~3.7.0
- silex/silex: ~1.1
- twig/twig: ~1.2
This package is not auto-updated.
Last update: 2022-02-01 12:31:39 UTC
README
Silex Assets 致力于成为最简约的资产管道,以便在 Silex 项目中使用 sass/requirejs。
而不是依赖于 Gulp/Grunt,它提供了一个 Makefile,或者一组 Makefile 包含文件,以便包含到您的项目中。
它如何工作?
所有资产编译都通过命令行完成。这意味着您的应用程序在开发中也非常轻量。所有资产都围绕一个 dist
目录,该目录位于您的网站树中。使用 Makefile 生成一个 dist/.manifest
文件,该文件包含已生成的文件及其内容的校验和。
随后包含的 twig 扩展允许 twig 模板引用 dist 中的文件,以及来自清单的校验和作为缓存破坏者。
这看起来像 <link rel="stylesheet" src="/web/dist/mystylesheet.css?12312334234" />
其中数字是 make manifest
目标中构建的 CRC32 校验和。
在开发期间,您可以通过运行 make watch
来重新编译更改的 sass,构建新的清单,如果您有 LiveReload 插件,则浏览器将更新。
安装
composer require 99designs/silex-assets
然后在您的 app.php 文件中添加提供者
<?php $app->register(new \SilexAssets\Provider\AssetsServiceProvider(array( 'web_path' => '/dist', 'output_dir' => __DIR__.'/../web/dist', 'requirejs_compiled' => $app['assets.require_compiled'], 'requirejs_output_dir' => __DIR__.'/../web/dist/js', 'requirejs_web_path' => '/dist/js', )));
然后添加了使用与 Assetic 扩展非常相似的语法的 twig 扩展
{% stylesheets 'css/swiftly.css' 'css/asimovicons.css' %} <link rel="stylesheet" href="{{ asset_url }}" /> {% endstylesheets %}
{% javascripts "js/example.js" %} <script src="{{ asset_url }}"></script> {% endjavascripts %}
{% assets "js/example.js" %} <script src="{{ asset_url }}"></script> {% endassets %}
{% requirejs 'bundles/frontpage' %}