例如,我创建了一个新页面,我想使用backbone.js、自定义css文件和一些图像集合。我应该在哪里申报所有这些东西在Yii2?我找到了AppAsset.php模块,但这只适用于css/js文件,并且在声明css/js文件和路径时没有注意到任何更改:
class AppAsset extends AssetBundle {
public $basePath = '@webroot';
public $baseUrl = '@web';
public $css = [
'css/site.css',
我的视图中有ActiveForm,我使用$this->addError在模式中对其进行验证。然而,当我用我的活动窗体加载页面时,我在调试控制台中看到:
TypeError: window.jQuery is not a function yii.js:520:1
ReferenceError: jQuery is not defined yii.validation.js:452:1
TypeError: $ is undefined yii.activeForm.js:14:5
jQuery.Deferred exception: jQuery(...).yiiAct
我想在Yii2中使用不同的js文件来进行开发和生产。虽然产品只有一个文件,但是开发模式有很多文件。
开发资产如下:
namespace frontend\assets;
use yii\web\AssetBundle;
class AppAsset extends AssetBundle {
public $basePath = '@webroot';
public $baseUrl = '@web';
public $css = [
'css/main.css',
];
public $
我学习了Yii2,并试图用类似于描述的方式使用gulp。我创建了following,其内容如下:
var gulp = require('gulp');
var uglify = require('gulp-uglify');
var cssMin = require('gulp-css');
var rename = require('gulp-rename');
var minimist = require('minimist');
var options = minimist(process.argv.sli
Yii很棒,但assets对我来说总是很奇怪(从1.1版本开始)。我目前正在使用高级应用程序模板的Yii2。我想在前端main布局视图(尝试使用)中注册一些css/js文件。如何做到这一点?我将css文件放在frontend/web/css目录下,将js放在frontend/web/js目录下,将布局图像放在frontend/web/images目录下。
我在frontend/assets目录下创建了PrologueAssets类,如下所示:
namespace frontend\assets;
use yii\web\AssetBundle;
class PrologueAssets ex
我正在使用Yii2高级与Twig集成。我需要包括js和css文件头块,并为此使用AssetBundle。
如果我使用POS_BEGIN或POS_END,这就是工作。将Js和css加载到当前位置的页面。但是,如果我将位置设置为POS_HEAD呈现,忽略这一点,并且没有将文件加载到页面。
请帮帮忙。我做错了什么?
My AssetBundle
namespace frontend\assets;
use yii\web\AssetBundle;
class YandexAsset extends AssetBundle
{
public $basePath = '@webroot
如何更改小部件应该使用的库?
我将框架中的代码更改为使用最小版本的库
'bundles' => [
'yii\web\JqueryAsset' => [
'jsOptions' => ['position' => 1], //jQuery to be loaded before the body of the page
'js' => [
我已经安装了一个软件包,使我能够添加和使用uikit和js文件。它使我能够通过向main.php添加以下代码来添加css文件和js文件。
\worstinme\uikit\Asset::register($this);
此代码将css添加到页眉,js文件添加到页脚。但是,我无法控制他们的位置,所以这与我添加的其他一些文件冲突。见下文:
class AppAsset extends AssetBundle
{
public $basePath = '@webroot';
public $baseUrl = '@web';
public $c