bicisteadm / webloader-reload
用于将CSS和JS文件加载或部署到网页的工具
3.0.7
2020-02-03 21:01 UTC
Requires
- php: >= 7.1
- ext-json: *
- nette/application: ^3.0
- nette/di: ^3.0
- nette/utils: ^3.0
Requires (Dev)
- jakub-onderka/php-parallel-lint: ~0.7
- kylekatarnls/coffeescript: 1.3.*
- latte/latte: ^2.5
- leafo/scssphp: ^0.7
- mockery/mockery: 1.*
- nette/application: ^3.0
- nette/bootstrap: ^3.0
- nette/caching: ^3.0
- nette/component-model: ^3.0
- nette/database: ^3.0
- nette/deprecated: ^2.3
- nette/di: ^3.0
- nette/finder: ^2.5
- nette/forms: ^3.0
- nette/http: ^3.0
- nette/mail: ^3.0
- nette/neon: ^3.0
- nette/php-generator: ^3.0
- nette/reflection: ^2.4
- nette/robot-loader: ^3.0
- nette/safe-stream: ^2.4
- nette/security: ^3.0
- nette/tokenizer: ^3.0
- nette/utils: ^3.0
- oyejorge/less.php: ^1.7
- phpstan/phpstan-nette: ^0.11.0
- phpstan/phpstan-shim: ^0.11.0
- phpunit/phpunit: 7.*
- tracy/tracy: ^2.6
Suggests
- coffeescript/coffeescript: CoffeeScript compiler written in PHP.
- joseki/webloader-filters: CSSMin & JSMin filters written in PHP.
- leafo/scssphp: SCSS compiler written in PHP.
- oyejorge/less.php: LESS compiler written in PHP.
README
用于CSS和JS文件加载的组件
WebLoader-Reload是janmarek针对最新版本的Nette (Nette-3.0) 更新后的WebLoader包。同时包含一些错误修复。
感谢Gappa为Nette-3.0更新了此包。
作者:Jan Marek 许可证:MIT
示例
Nette表示器中的控制工厂
<?php protected function createComponentCss() { $files = new WebLoader\FileCollection(WWW_DIR . '/css'); $files->addFiles(array( 'style.css', WWW_DIR . '/colorbox/colorbox.css', )); $files->addWatchFiles(Finder::findFiles('*.css', '*.less')->in(WWW_DIR . '/css')); $compiler = WebLoader\Compiler::createCssCompiler($files, WWW_DIR . '/temp'); $compiler->addFilter(new WebLoader\Filter\VariablesFilter(array('foo' => 'bar'))); $compiler->addFilter(function ($code) { return cssmin::minify($code, "remove-last-semicolon"); }); $control = new WebLoader\Nette\CssLoader($compiler, '/webtemp'); $control->setMedia('screen'); return $control; }
模板
{control css}
使用Nette框架扩展的示例
app/config/config.neon
中的配置
extensions: webloader: WebLoader\Nette\Extension services: wlCssFilter: WebLoader\Filter\CssUrlsFilter(%wwwDir%) lessFilter: WebLoader\Filter\LessFilter jwlCssMinFilter: Joseki\Webloader\CssMinFilter webloader: css: default: files: - style.css - {files: ["*.css", "*.less"], from: %appDir%/presenters} # Nette\Utils\Finder support filters: - @jwlCssMinFilter fileFilters: - @lessFilter - @wlCssFilter watchFiles: # only watch modify file - {files: ["*.css", "*.less"], from: css} - {files: ["*.css", "*.less"], in: css} js: default: remoteFiles: - https://ajax.googleapis.ac.cn/ajax/libs/jquery/1.7/jquery.min.js - https://ajax.googleapis.ac.cn/ajax/libs/jqueryui/1.8.16/jquery-ui.min.js files: - %appDir%/../libs/nette/nette/client-side/netteForms.js - web.js
对于Nette的旧版本,您需要在app/bootstrap.php
中注册扩展
$webloaderExtension = new \WebLoader\Nette\Extension(); $webloaderExtension->install($configurator);
在app/presenters/BasePresenter.php
中的使用
/** @var \WebLoader\Nette\LoaderFactory @inject */ public $webLoader; /** @return \WebLoader\Nette\CssLoader */ protected function createComponentCss() { return $this->webLoader->createCssLoader('default'); } /** @return \WebLoader\Nette\JavaScriptLoader */ protected function createComponentJs() { return $this->webLoader->createJavaScriptLoader('default'); }
模板
{control css} {control js}