我正在 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/