Yii2 视图布局看不到任何 js,css 文件与 AppAsset 包
Yii2 view layout doesn't see any js, css files with AppAsset bundle
Yii2 高级模板,PHP5.6,Ubuntu16.04,nginx.
我关注myproject/backend/assets/AppAsset.php
:
class AppAsset extends AssetBundle {
public $basePath = '@webroot';
public $css = [
'/css/style.css',
'/plugins/iCheck/square/blue.css',
'/plugins/datatables/dataTables.bootstrap.css',
'/css/AdminLTE.min.css'
];
public $js = [
'admin/js/common.js',
'plugins/datatables/jquery.dataTables.js',
'plugins/datatables/dataTables.bootstrap.js',
'plugins/iCheck/icheck.min.js'
];
public $depends = [
'yii\web\YiiAsset',
'yii\bootstrap\BootstrapAsset'
];
}
布局有:
use backend\assets\AppAsset;
AppAsset::register($this);
这是我的布局 main.php
,当我添加 AppAsset
包时。
<?php
use backend\assets\AppAsset;
use yii\helpers\Html;
use yii\bootstrap\Nav;
use yii\bootstrap\NavBar;
use yii\widgets\Breadcrumbs;
AppAsset::register($this);
/* @var $this \yii\web\View */
/* @var $content string */
?>
<?php //$this->beginPage() ?>
<!DOCTYPE html>
<html lang="<?= Yii::$app->language ?>">
<head>
<meta charset="<?= Yii::$app->charset ?>">
<meta name="viewport" content="width=device-width, initial-scale=1">
<?= Html::csrfMetaTags() ?>
<?php
//$assets_base = Yii::$app->controller->getAssetsBase();
?>
<title>MyProject</title>
<?php $this->head() ?>
</head>
<body class="login-page">
<?php $this->beginBody() ?>
<h1>Test!!!</h1>
<?= $content ?>
<?php $this->endBody() ?>
</body>
</html>
<?php
所有 css 和 js 文件位于 public 文件夹 web
(myproject/backend/web
)。
当我重新加载页面标签 <head>
时 只有 :
<meta charset="UTF-8">
<meta name="viewport"
<meta name="csrf-param"
<meta name="csrf-token"
您应该删除此行的评论:
<?php //$this->beginPage() ?>
$this->beginPage()
需要启用输出缓冲,这是在 $this->head()
调用的位置注入资产链接所必需的。
一般来说,您不应从应用程序模板的默认布局中删除任何方法调用,除非您真的知道自己在做什么 - 它们存在是有原因的。
Yii2 高级模板,PHP5.6,Ubuntu16.04,nginx.
我关注myproject/backend/assets/AppAsset.php
:
class AppAsset extends AssetBundle {
public $basePath = '@webroot';
public $css = [
'/css/style.css',
'/plugins/iCheck/square/blue.css',
'/plugins/datatables/dataTables.bootstrap.css',
'/css/AdminLTE.min.css'
];
public $js = [
'admin/js/common.js',
'plugins/datatables/jquery.dataTables.js',
'plugins/datatables/dataTables.bootstrap.js',
'plugins/iCheck/icheck.min.js'
];
public $depends = [
'yii\web\YiiAsset',
'yii\bootstrap\BootstrapAsset'
];
}
布局有:
use backend\assets\AppAsset;
AppAsset::register($this);
这是我的布局 main.php
,当我添加 AppAsset
包时。
<?php
use backend\assets\AppAsset;
use yii\helpers\Html;
use yii\bootstrap\Nav;
use yii\bootstrap\NavBar;
use yii\widgets\Breadcrumbs;
AppAsset::register($this);
/* @var $this \yii\web\View */
/* @var $content string */
?>
<?php //$this->beginPage() ?>
<!DOCTYPE html>
<html lang="<?= Yii::$app->language ?>">
<head>
<meta charset="<?= Yii::$app->charset ?>">
<meta name="viewport" content="width=device-width, initial-scale=1">
<?= Html::csrfMetaTags() ?>
<?php
//$assets_base = Yii::$app->controller->getAssetsBase();
?>
<title>MyProject</title>
<?php $this->head() ?>
</head>
<body class="login-page">
<?php $this->beginBody() ?>
<h1>Test!!!</h1>
<?= $content ?>
<?php $this->endBody() ?>
</body>
</html>
<?php
所有 css 和 js 文件位于 public 文件夹 web
(myproject/backend/web
)。
当我重新加载页面标签 <head>
时 只有 :
<meta charset="UTF-8">
<meta name="viewport"
<meta name="csrf-param"
<meta name="csrf-token"
您应该删除此行的评论:
<?php //$this->beginPage() ?>
$this->beginPage()
需要启用输出缓冲,这是在 $this->head()
调用的位置注入资产链接所必需的。
一般来说,您不应从应用程序模板的默认布局中删除任何方法调用,除非您真的知道自己在做什么 - 它们存在是有原因的。