yii2 Assets 包 - 单个文件位置

标签 yii2 assetbundle

我正在 Yii2 框架上做一个网络应用程序。定义(扩展)新的 AssetBundle

class NeonAsset extends AssetBundle {
   public $sourcePath = '@app/themes/neon/';

   public $css = [
    'css/font-icons/entypo/css/entypo.css',
    '...',
    '...'        
   ];

   public $js = [
      'js/be_in_head_tag.js',
      '...',
      '...',
   ];
}

渲染时,CSS 文件将在 <head> 中发布标签,以及 <body> 底部的 JS 文件标签。没关系。
但我想要一个be_in_head_tag.js文件将在 <head> 中发布标签。当我使用 $jsOptions它将所有 JS 文件移动到 <head>标签。
是否可以仅对一个文件进行选择?

最佳答案

其中一个变体使该文件成为一个单独的 Assets 类别:

class HeadPublishAsset extends AssetBundle {
    public $sourcePath = '@app/themes/neon/';
    public $js = ['js/be_in_head_tag.js'];
    public $jsOptions = ['position' => \yii\web\View::POS_HEAD];
}

并向您的基类添加依赖项,例如:
class NeonAsset extends AssetBundle {
    ...
    public $depends = ['app\assets\HeadPublishAsset'];
    ...
}

关于yii2 Assets 包 - 单个文件位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30573497/

相关文章:

gridview - 如何在 yii2 GridView 中向每个 TH 和 TD 添加 css 类

PHP 数组与不同类型的键合并

php - 在 Yii2 中下载进程后返回引用或刷新不起作用

javascript - 在 View yii2 中使用内联脚本

php - Yii2-完整性约束违规 – yii\db\IntegrityException

javascript - 如何在 Yii2 Asset Bundle 中使用 JSX 文件

javascript - 将脚本添加到 HTML 中的 assetbundle

c# - 如何编码音频文件并统一保存?