ischenko / yii2-jsloader
一个用于处理JS文件、代码和资源包的Yii2扩展,支持多种js加载器
v1.3.2
2020-03-18 13:34 UTC
Requires
- php: >=7.1
- yiisoft/yii2: ~2.0
Requires (Dev)
- codeception/assert-throws: ~1.0
- codeception/codeception: ~4.0
- codeception/module-asserts: ~1.1
- codeception/specify: ~1.2
- codeception/verify: ~1.2
Suggests
- ischenko/yii2-jsloader-systemjs: SystemJS loader
README
该扩展提供了一种行为,允许通过各种js加载器(如RequireJS)处理JS文件、代码和资源包。
除了行为之外,它还提供了一套接口和基类,用于实现js加载器。
目前可用的js加载器实现包括
安装
*需要PHP >= 7.1
安装此扩展的首选方式是通过 composer。
运行以下命令之一
composer require ischenko/yii2-jsloader
或者将以下内容添加到你的composer.json文件的require
部分。
"ischenko/yii2-jsloader": "*"
to the require
section of your composer.json.
使用方法
将行为和具体的加载器实现添加到视图配置中
... 'components' => [ ... 'view' => [ 'as jsLoader' => [ 'class' => 'ischenko\yii2\jsloader\Behavior', 'loader' => [ 'class' => 'loader\namespace\LoaderClass' ] ] ] ... ] ...
默认情况下,加载器会跳过位于头部部分的脚本和包/文件,但如果你需要包含这些脚本或排除其他部分,可以通过ignorePositions
属性来实现
... 'components' => [ ... 'view' => [ 'as jsLoader' => [ 'class' => 'ischenko\yii2\jsloader\Behavior', 'loader' => [ 'class' => 'loader\namespace\LoaderClass', 'ignorePositions' => [ View::POS_HEAD, View::POS_BEGIN ] ] ] ] ... ] ...
此外,你还可以通过ignoreBundles
属性设置一个列表,列出加载器应忽略的资源包
... 'components' => [ ... 'view' => [ 'as jsLoader' => [ 'class' => 'ischenko\yii2\jsloader\Behavior', 'loader' => [ 'class' => 'loader\namespace\LoaderClass', 'ignoreBundles' => [ 'app\assets\AppCssAsset' ] ] ] ] ... ] ...