心灵艺术 2018-01-09 10:45:59 5207次浏览 4条评论 2 1 0

基于 Yii2 高级模板(废话不多说,经验分享)

前后台一样操作,现在拿前台来做例子。

第一步:
找到:frontend\assets\AppAsset.php

    public $depends = [
        'yii\web\YiiAsset',//把这个注释掉(这个是YII的)
        'yii\bootstrap\BootstrapAsset',//把这个注释掉(这个是Bootstrap的)
    ];

第二步:
找到:common\config\main.php
找到
components[]
添加代码有2种方式:
第一种:

    'assetManager' => [
        'bundles' => false,
    ],

第二种:

'yii\web\YiiAsset' => [
         'js' => [],  // 去除 yii.js
         'sourcePath' => null,  // 防止在 frontend/web/asset 下生产文件
     ],            
     'yii\widgets\ActiveFormAsset' => [
         'js' => [],  // 去除 yii.activeForm.js
         'sourcePath' => null,  // 防止在 frontend/web/asset 下生产文件
     ],
     'yii\validators\ValidationAsset' => [
         'js' => [],  // 去除 yii.validation.js
         'sourcePath' => null,  // 防止在 frontend/web/asset 下生产文件
     ],
     'yii\web\JqueryAsset' => [
        'js' => [],  // 去除 jquery.js
        'sourcePath' => null,  // 防止在 frontend/web/asset 下生产文件
     ],
     'yii\bootstrap\BootstrapAsset' => [
         'css' => [],  // 去除 bootstrap.css
         'sourcePath' => null, // 防止在 frontend/web/asset 下生产文件
     ],
     'yii\bootstrap\BootstrapPluginAsset' => [
         'js' => [],  // 去除 bootstrap.js
         'sourcePath' => null,  // 防止在 frontend/web/asset 下生产文件
     ],

这个时候已经将YII自带的垃圾代码清除了。

但是,右下角的DEBUG调试功能也会带上一些垃圾代码,顺便全部干掉。
第一步:
找到:frontend\views\layouts\main.php
代码:

    <?php
    NavBar::begin([
    中间代码忽略了反正全部删除
    NavBar::end();
    ?>

代码:
<footer class="footer">中间代码忽略了反正全部删除</footer>
第二步:
找到:frontend\views\layouts\main.php
代码:

if (!YII_ENV_TEST) {
        // configuration adjustments for 'dev' environment
        $config['bootstrap'][] = 'debug';//看到DEBUG了没,注释掉
        $config['modules']['debug'] = [//看到DEBUG的数组了,注释掉
            'class' => 'yii\debug\Module',//注释掉
        ];//注释掉
        $config['bootstrap'][] = 'gii';
        $config['modules']['gii'] = [
            'class' => 'yii\gii\Module',
        ];
    }

打开 http://localhost/frontend/web/ 看看是不是样式全部没了,然后右键查看源代码,垃圾代码全部没有了,看上去舒服了,大功告成。

觉得很赞
  • 评论于 2018-02-03 12:02 举报

    这都去掉了 还用什么...

    1 条回复
    评论于 2018-02-03 15:04 回复

    自带的bootstrap去掉跟框架自身没关系的。

  • 评论于 2018-02-04 11:04 举报

    如果用到activeform还得用yii\web\YiiAsset。

  • 评论于 2018-03-05 17:11 举报

    垃圾代码,你不用的就是垃圾吗?那辛苦写这些代码的会怎么想?真没必要在这里展示你的优越感!

  • 评论于 2018-04-03 17:32 举报

    你可以在你当前项目的 composer.json 加上

    "provide": {
        "bower-asset/jquery": "3.2.*@stable | 3.1.*@stable | 2.2.*@stable | 2.1.*@stable | 1.11.*@stable | 1.12.*@stable",
        "bower-asset/inputmask": "~3.2.2 | ~3.3.5",
        "bower-asset/punycode": "1.3.*",
        "bower-asset/yii2-pjax": "~2.0.1",
        "bower-asset/font-awesome": "4.7.*@stable",
        "bower-asset/jquery-ui": "~1.12.1"
      },
    

    忽略掉框架给你安装的这些第三方脚本。
    然后在当前项目的目录用npm安装依赖打包即可

    1 条回复
    评论于 2018-04-04 09:53 回复

    不对吧。安装好扩展之后怎么不需要加载吗?那不就等于没调用到?

您需要登录后才可以评论。登录 | 立即注册