Class yii\web\AssetConverter
AssetConverter 支持将一些流行的脚本格式编译成 JS 或者 CSS 脚本。
它被 yii\web\AssetManager 用于编译被发布的文件。
公共属性
属性 | 类型 | 描述 | 被定义在 |
---|---|---|---|
$behaviors | yii\base\Behavior[] | List of behaviors attached to this component | yii\base\Component |
$commands | array | 用于执行资源编译的命令列表。
键是资源文件的扩展名,
值是相应的目标脚本(“css” 或者 “js”)和用来编译的命令。
你也可以用 路径别名 来指定命令的位置:
` php
[
'styl' => ['css', '@app/node_modules/bin/stylus < {from} > {to}'],
]
` |
yii\web\AssetConverter |
$forceConvert | boolean | 是否应编译源资源文件,即使其结果已存在。
你可能需要设置此属性为 true ,在开发阶段确保编译资源一直是最新的。
不要再生产服务器设置此值为 true,
它会显着降低性能。 |
yii\web\AssetConverter |
公共方法
方法 | 描述 | 被定义在 |
---|---|---|
__call() | Calls the named method which is not a class method. | yii\base\Component |
__clone() | This method is called after the object is created by cloning an existing one. | yii\base\Component |
__construct() | Constructor. | yii\base\BaseObject |
__get() | Returns the value of a component property. | yii\base\Component |
__isset() | Checks if a property is set, i.e. defined and not null. | yii\base\Component |
__set() | Sets the value of a component property. | yii\base\Component |
__unset() | Sets a component property to be null. | yii\base\Component |
attachBehavior() | Attaches a behavior to this component. | yii\base\Component |
attachBehaviors() | Attaches a list of behaviors to the component. | yii\base\Component |
behaviors() | Returns a list of behaviors that this component should behave as. | yii\base\Component |
canGetProperty() | Returns a value indicating whether a property can be read. | yii\base\Component |
canSetProperty() | Returns a value indicating whether a property can be set. | yii\base\Component |
className() | Returns the fully qualified name of this class. | yii\base\BaseObject |
convert() | 将所给的资源文件编译成 JS 或者 CSS 文件。 | yii\web\AssetConverter |
detachBehavior() | Detaches a behavior from the component. | yii\base\Component |
detachBehaviors() | Detaches all behaviors from the component. | yii\base\Component |
ensureBehaviors() | Makes sure that the behaviors declared in behaviors() are attached to this component. | yii\base\Component |
getBehavior() | Returns the named behavior object. | yii\base\Component |
getBehaviors() | Returns all behaviors attached to this component. | yii\base\Component |
hasEventHandlers() | Returns a value indicating whether there is any handler attached to the named event. | yii\base\Component |
hasMethod() | Returns a value indicating whether a method is defined. | yii\base\Component |
hasProperty() | Returns a value indicating whether a property is defined for this component. | yii\base\Component |
init() | Initializes the object. | yii\base\BaseObject |
off() | Detaches an existing event handler from this component. | yii\base\Component |
on() | Attaches an event handler to an event. | yii\base\Component |
trigger() | Triggers an event. | yii\base\Component |
属性详情
用于执行资源编译的命令列表。 键是资源文件的扩展名, 值是相应的目标脚本(“css” 或者 “js”)和用来编译的命令。
你也可以用 路径别名 来指定命令的位置:
[
'styl' => ['css', '@app/node_modules/bin/stylus < {from} > {to}'],
]
public array $commands = ['less' => ['css', 'lessc {from} {to} --no-color --source-map'], 'scss' => ['css', 'sass {from} {to} --sourcemap'], 'sass' => ['css', 'sass {from} {to} --sourcemap'], 'styl' => ['css', 'stylus < {from} > {to}'], 'coffee' => ['js', 'coffee -p {from} > {to}'], 'ts' => ['js', 'tsc --out {to} {from}']]
是否应编译源资源文件,即使其结果已存在。
你可能需要设置此属性为 true
,在开发阶段确保编译资源一直是最新的。
不要再生产服务器设置此值为 true,
它会显着降低性能。
方法详情
将所给的资源文件编译成 JS 或者 CSS 文件。
public string convert($asset, $basePath) | ||
$asset | string | 资源文件路径,相对于 $basePath。 |
$basePath | string | 资源 $asset 相对于的目录。 |
return | string | 编译成的资源文件路径,相对于 $basePath。 |
---|
执行命令来编译资源文件。
protected boolean runCommand($command, $basePath, $asset, $result) | ||
$command | string | 执行的命令。如果以 |
$basePath | string | 资源基路径和命令的工作目录 |
$asset | string | 资源文件名 |
$result | string | 编译命令将生成的文件名 |
return | boolean | 成功时为 true,失败为 false。失败时会记日志。 |
---|---|---|
throws | yii\base\Exception | 当命令失败和 YII_DEBUG 为 true 时抛出。 而生产模式下记录错误日志。 |