我想为specific.js具有操作ID的特定视图包含我的js脚本specific-action-id.我不希望它specific.js被包含在每一页中.
为了包含整个站点的js脚本,我通常需要编辑AppAsset.php.为此,我该怎么办?
soj*_*oju 16
您只需在视图中注册此js文件,例如:
$this->registerJsFile('@web/js/specific.js');
Run Code Online (Sandbox Code Playgroud)
阅读更多:http://www.yiiframework.com/doc-2.0/guide-output-client-scripts.html#registering-scripts
强烈建议使用资产包来注册外部 JS 文件,而不是 registerJsFile(),因为这样可以提供更好的灵活性和更精细的依赖配置。使用资产包还允许您组合和压缩多个 JS 文件,这对于高流量网站是可取的。
因此,您可以创建一个新的 AppAsset 文件并将您的 css 和 javascript 文件放入其中。
创建资产包
在\assets 目录中,我们创建StatusAsset.php:
<?php
/**
* @link http://www.yiiframework.com/
* @copyright Copyright (c) 2008 Yii Software LLC
* @license http://www.yiiframework.com/license/
*/
namespace app\assets;
use yii\web\AssetBundle;
/**
* @author Qiang Xue <qiang.xue@gmail.com>
* @since 2.0
*/
class StatusAsset extends AssetBundle
{
public $basePath = '@webroot';
public $baseUrl = '@web';
public $css = [];
public $js = [
'/js/jquery.simplyCountable.js',
'/js/twitter-text.js',
'/js/twitter_count.js',
'/js/status-counter.js',
];
public $depends = [
'yii\web\YiiAsset',
'yii\bootstrap\BootstrapAsset',
];
}
Run Code Online (Sandbox Code Playgroud)
在您的视图文件中
use app\assets\StatusAsset;
StatusAsset::register($this);
Run Code Online (Sandbox Code Playgroud)
资源 http://www.yiiframework.com/doc-2.0/guide-output-client-scripts.html https://code.tutsplus.com/tutorials/how-to-program-with-yii2-working-with-资产包--cms-23226
| 归档时间: |
|
| 查看次数: |
19992 次 |
| 最近记录: |