有洁癖的禁止默认YII自带垃圾代码(个人认为)、JS、CSS(新手教程) [ 2.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/
看看是不是样式全部没了,然后右键查看源代码,垃圾代码全部没有了,看上去舒服了,大功告成。
心灵艺术 广东陆丰
注册时间:2016-01-06
最后登录:2024-11-01
在线时长:34小时59分
最后登录:2024-11-01
在线时长:34小时59分
- 粉丝3
- 金钱1945
- 威望20
- 积分2485
共 4 条评论
这都去掉了 还用什么...
自带的bootstrap去掉跟框架自身没关系的。
如果用到activeform还得用yii\web\YiiAsset。
垃圾代码,你不用的就是垃圾吗?那辛苦写这些代码的会怎么想?真没必要在这里展示你的优越感!
你可以在你当前项目的 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安装依赖打包即可
不对吧。安装好扩展之后怎么不需要加载吗?那不就等于没调用到?