yii2视图层引入angular生成的项目

作者: wxfeng 分类: 未分类 发布时间: 2017-08-08 00:00    阅读 58 次

1,将dist文件夹放置在api/assets/下,在yii中引入ng build生成的资源静态资源文件。

api/assets/AppAsset.php

<?php
namespace api\assets;
use yii\web\AssetBundle;
/**
 * Main api application asset bundle.
*/
class AppAsset extends AssetBundle {
public $basePath = '@webroot';
public $baseUrl = '@web';
public $css = [];
public $js = [
'dist/inline.bundle.js',
'dist/polyfills.bundle.js',
'dist/styles.bundle.js',
'dist/vendor.bundle.js',
'dist/main.bundle.js',
];
public $depends = [
'yii\web\YiiAsset',
'yii\bootstrap\BootstrapAsset',
];
}

2,指定视图文件。这里控制器中禁用了布局文件(不是必须,如果使用了布局,可在布局文件中添加步骤三中的红色部分),

SiteController.php

<?php
namespace api\modules\v1\controllers;
use \yii\web\Controller;
/**
 * Default controller for the `v1` module
 */
class SiteController extends Controller {
/**
 * Renders the index view for the module
 * @return string
 */
public $layout = false; //不使用布局
public function actionIndex() {
return $this->render('index');
}
}


3,视图中引入在AppAsset.php中配置的静态资源文件,红色部分必须在视图文件中存在,否则静态资源文件无法引入

<?php

use api\assets\AppAsset;

AppAsset::register($this);

?>

<?php $this->beginPage()?>

<!doctype html>

<html>

<head>

  <meta charset="utf-8">

  <title>网站标题</title>

  <base href="/">

  <meta name="viewport" content="width=device-width, initial-scale=1">

  <link rel="icon" type="image/x-icon" href="favicon.ico">

</head>

<body>

<?php $this->beginBody()?>

  <app-root></app-root>

<?php $this->endBody()?>

</body>

</html>

<?php $this->endPage()?>


如果觉得我的文章对您有用,请随意赞赏。您的支持将鼓励我继续创作!

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注