jakercz/webloader
Composer 安装命令:
composer require jakercz/webloader
包简介
Simple, easy to use, php bundler for javascript and css
README 文档
README
📦 Simple, easy to use, php bundler for javascript and css.
In a nutshell
- Configurable: in one file (example bellow or in docs)
- Files collections and containers: makes assets organizing incredibly simple
- Filters: callable in two different ways
- Path placeholders: reusable paths to files, less writing
- Allows you to load remote and local files
- If you have some critical css, you can load it directly into the page with minimal configuration required
- Prepared for read only deployment - webloader is able to compile all files collections at once
- Debugger bar for Tracy
Requirements
- PHP 7.2+
- If you use Nette Framework - v2.4+
Installation
composer require machy8/webloader
Docs
Quick start
Let's say we have two css files (styla-a.css and style-b.css) and we want to bundle them into one file which name will be my-bundle. This bundle will be stored in a webtemp dir (must be accessible from a browser).
The recommended way to configure Web Loader is through neon configuration files. The first step is to create a bundle.neon.
my-bundle: cssFiles: - path/to/style-a.css - path/to/style-b.css
Next step is to init Web Loader, set the output dir path and tell him to create bundles from bundle.neon.
$webloader = new \WebLoader\Engine('path/to/webtemp'); $webloader->createFilesCollectionsFromConfig('path/to/bundle.neon');
The last step is to call files collections render to render css files collection named my-bundle.
echo $webloader->getFilesCollectionRender()->css('my-bundle');
The PHP file after the last edit will looks like this:
$webloader = new \WebLoader\Engine('path/to/output/dir'); $webloader->createFilesCollectionsFromConfig('path/to/bundle.neon'); echo $webloader->getFilesCollectionRender()->css('my-bundle');
The output will be similiar to the following code:
<link type="text/css" rel="stylesheet" href="/path/to/webtemp/my-bundle.css?v=1512829634">
Quick start (for Nette Framework)
For the Nette Framework it is very similar. First of all, register Web Loader extension.
extensions: webloader: WebLoader\Bridges\Nette\WebLoaderExtension
Next step is to add Web Loader section with my-bundle collection configuration inside.
webloader: filesCollections: my-bundle: cssFiles: - path/to/style-a.css - path/to/style-b.css
In your presenter, inject the engine...
/** * @var Engine */ private $webLoader; public function __construct(\WebLoader\Engine $engine) { $this->webLoader = $engine; }
and set template parameters (for example in the beforeRender method).
public function beforeRender() { $this->template->setParameters([ 'webloaderFilesCollectionRender' => $this->webLoader->getFilesCollectionRender() ]); }
The last step is to call the render in a latte template.
{$webloaderFilesCollectionRender->css('my-bundle')|noescape}
jakercz/webloader 适用场景与选型建议
jakercz/webloader 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 13 次下载、GitHub Stars 达 0, 最近一次更新时间为 2021 年 03 月 09 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「javascript」 「css」 「webloader」 「frontend」 「module-bundler」 「build-tool」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 jakercz/webloader 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 jakercz/webloader 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 jakercz/webloader 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
Generates a Blade directive exporting all of your named Laravel routes. Also provides a nice route() helper function in JavaScript.
A Twig extension to insert css as inline styles with a tag
Simple, easy to use, php bundler for javascript and css
Tool for loading or deploying CSS and JS files into web pages
Caching and compression for Twig assets (JavaScript and CSS).
A pretty nice way to expose your translation messages to your JavaScript.
统计信息
- 总下载量: 13
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 0
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: BSD-3-Clause
- 更新时间: 2021-03-09
