Commit b2a90d2084d643d809e373cc10f5ca7e593e783b
1 parent
e3b0a3cb
-Asset compression with Gulp (Now commented, uncomment on production frontend/co…
…nfig/main.php and re-compress)
Showing
9 changed files
with
171 additions
and
17 deletions
Show diff stats
common/config/main.php
... | ... | @@ -3,14 +3,6 @@ |
3 | 3 | 'language' => 'ru', |
4 | 4 | 'vendorPath' => dirname(dirname(__DIR__)) . '/vendor', |
5 | 5 | 'components' => [ |
6 | - 'assetManager' => [ | |
7 | - 'bundles' => [ | |
8 | - 'yii\web\JqueryAsset' =>[ | |
9 | - 'jsOptions' => ['position' => \yii\web\View::POS_HEAD] | |
10 | - ] | |
11 | - ], | |
12 | - ], | |
13 | - | |
14 | 6 | 'sms' => [ |
15 | 7 | 'class' => 'common\components\SmsSender', |
16 | 8 | ], | ... | ... |
console/config/bootstrap.php
1 | 1 | <?php |
2 | -Yii::setAlias('@uploadDir', dirname(dirname(__DIR__)) . '/storage/sync'); | |
3 | -Yii::setAlias('@uploadFileProducts', 'products.csv'); | |
4 | -Yii::setAlias('@uploadFilePrices', 'file_1.csv'); | |
5 | -Yii::setAlias('@uploadFilePricesAway', 'price_product_away.csv'); | |
6 | -Yii::setAlias('@uploadFilePricesDuplicate', 'price_duplicate.csv'); | |
7 | -Yii::setAlias('@uploadFilePricesNoVariant', 'price_no_variant.csv'); | |
8 | - | |
9 | -Yii::setAlias('@productsDir', '@frontend/web/images/products'); | |
10 | 2 | \ No newline at end of file |
3 | + Yii::setAlias('@uploadDir', dirname(dirname(__DIR__)) . '/storage/sync'); | |
4 | + Yii::setAlias('@uploadFileProducts', 'products.csv'); | |
5 | + Yii::setAlias('@uploadFilePrices', 'file_1.csv'); | |
6 | + Yii::setAlias('@uploadFilePricesAway', 'price_product_away.csv'); | |
7 | + Yii::setAlias('@uploadFilePricesDuplicate', 'price_duplicate.csv'); | |
8 | + Yii::setAlias('@uploadFilePricesNoVariant', 'price_no_variant.csv'); | |
9 | + Yii::setAlias('@web', dirname(dirname(__DIR__)) . '/frontend/web'); | |
10 | + Yii::setAlias('@webroot', dirname(dirname(__DIR__)) . '/frontend'); | |
11 | + Yii::setAlias('@productsDir', '@frontend/web/images/products'); | |
11 | 12 | \ No newline at end of file | ... | ... |
frontend/assets/AppAsset.php
1 | +<?php | |
2 | +/** | |
3 | + * This file is generated by the "yii asset" command. | |
4 | + * DO NOT MODIFY THIS FILE DIRECTLY. | |
5 | + * @version 2016-10-12 09:43:55 | |
6 | + */ | |
7 | +return [ | |
8 | + 'all' => [ | |
9 | + 'class' => 'yii\\web\\AssetBundle', | |
10 | + 'basePath' => '@webroot/assets', | |
11 | + 'baseUrl' => '@web/assets', | |
12 | + 'js' => [ | |
13 | + 'all-f246a0d9c24e97837891e00a6176e80b.js', | |
14 | + ], | |
15 | + 'css' => [ | |
16 | + 'all-132788b2bdfb3ef7abdc19ec90671f19.css', | |
17 | + ], | |
18 | + ], | |
19 | + 'yii\\web\\JqueryAsset' => [ | |
20 | + 'sourcePath' => null, | |
21 | + 'js' => [], | |
22 | + 'css' => [], | |
23 | + 'depends' => [ | |
24 | + 'all', | |
25 | + ], | |
26 | + ], | |
27 | + 'yii\\web\\YiiAsset' => [ | |
28 | + 'sourcePath' => null, | |
29 | + 'js' => [], | |
30 | + 'css' => [], | |
31 | + 'depends' => [ | |
32 | + 'yii\\web\\JqueryAsset', | |
33 | + 'all', | |
34 | + ], | |
35 | + ], | |
36 | + 'yii\\bootstrap\\BootstrapAsset' => [ | |
37 | + 'sourcePath' => null, | |
38 | + 'js' => [], | |
39 | + 'css' => [], | |
40 | + 'depends' => [ | |
41 | + 'all', | |
42 | + ], | |
43 | + ], | |
44 | + 'yii\\bootstrap\\BootstrapPluginAsset' => [ | |
45 | + 'sourcePath' => null, | |
46 | + 'js' => [], | |
47 | + 'css' => [], | |
48 | + 'depends' => [ | |
49 | + 'yii\\web\\JqueryAsset', | |
50 | + 'yii\\bootstrap\\BootstrapAsset', | |
51 | + 'all', | |
52 | + ], | |
53 | + ], | |
54 | + 'yii\\bootstrap\\BootstrapThemeAsset' => [ | |
55 | + 'sourcePath' => null, | |
56 | + 'js' => [], | |
57 | + 'css' => [], | |
58 | + 'depends' => [ | |
59 | + 'yii\\bootstrap\\BootstrapAsset', | |
60 | + 'all', | |
61 | + ], | |
62 | + ], | |
63 | + 'frontend\\assets\\AppAsset' => [ | |
64 | + 'sourcePath' => null, | |
65 | + 'js' => [], | |
66 | + 'css' => [], | |
67 | + 'depends' => [ | |
68 | + 'yii\\web\\YiiAsset', | |
69 | + 'yii\\bootstrap\\BootstrapPluginAsset', | |
70 | + 'yii\\bootstrap\\BootstrapThemeAsset', | |
71 | + 'all', | |
72 | + ], | |
73 | + ], | |
74 | +]; | |
0 | 75 | \ No newline at end of file | ... | ... |
frontend/config/main.php
... | ... | @@ -12,6 +12,12 @@ return [ |
12 | 12 | 'bootstrap' => ['log'], |
13 | 13 | 'controllerNamespace' => 'frontend\controllers', |
14 | 14 | 'components' => [ |
15 | + 'assetManager' => [ | |
16 | +// 'bundles' => require(__DIR__ . '/' . 'assets-prod.php'), | |
17 | + 'bundles' => [ | |
18 | + 'frontend\assets\AppAsset', | |
19 | + ], | |
20 | + ], | |
15 | 21 | 'request' => [ |
16 | 22 | 'baseUrl' => '', |
17 | 23 | 'cookieValidationKey' => 'ndahjhjjidasuidrqeswuiuirqw89', | ... | ... |
1 | +<?php | |
2 | +/* | |
3 | +Yii command: | |
4 | +yii asset tools/gulp/assets-config.php config/assets-prod.php | |
5 | +*/ | |
6 | + | |
7 | +Yii::setAlias('@webroot', dirname(dirname(__DIR__)) . '/frontend/web'); | |
8 | +Yii::setAlias('@web', '/'); | |
9 | + | |
10 | +return [ | |
11 | + 'jsCompressor' => 'gulp compress-js --gulpfile tools/gulp/gulpfile.js --src {from} --dist {to}', | |
12 | + 'cssCompressor' => 'gulp compress-css --gulpfile tools/gulp/gulpfile.js --src {from} --dist {to}', | |
13 | + 'bundles' => [ | |
14 | + 'frontend\assets\AppAsset', | |
15 | + ], | |
16 | + 'targets' => [ | |
17 | + 'all' => [ | |
18 | + 'class' => 'yii\web\AssetBundle', | |
19 | + 'basePath' => '@webroot/assets', | |
20 | + 'baseUrl' => '@web/assets', | |
21 | + 'js' => 'all-{hash}.js', | |
22 | + 'css' => 'all-{hash}.css', | |
23 | + 'depends' => [ | |
24 | + ], | |
25 | + ], | |
26 | + ], | |
27 | + // Asset manager configuration: | |
28 | + 'assetManager' => [ | |
29 | + 'basePath' => '@webroot/assets', | |
30 | + 'baseUrl' => '@web/assets', | |
31 | + ], | |
32 | +]; | ... | ... |
1 | +var gulp = require('gulp'); | |
2 | +var uglify = require('gulp-uglify'); | |
3 | +var cssMin = require('gulp-css'); | |
4 | + | |
5 | + | |
6 | +// Need because of `yii console` | |
7 | +var rename = require('gulp-rename'); | |
8 | +var minimist = require('minimist'); | |
9 | +var options = minimist(process.argv.slice(2), { string: 'src', string: 'dist' }); | |
10 | +var destDir = options.dist.substring(0, options.dist.lastIndexOf("/")); | |
11 | +var destFile = options.dist.replace(/^.*[\\\/]/, ''); | |
12 | + | |
13 | + | |
14 | +// Use `compress-js` task for JavaScript files | |
15 | +gulp.task('compress-js', function() { | |
16 | + gulp.src(options.src) | |
17 | + .pipe(uglify()) | |
18 | + | |
19 | + .pipe(rename(destFile)) | |
20 | + .pipe(gulp.dest(destDir)) | |
21 | +}); | |
22 | + | |
23 | +// Use `compress-css` task for CSS files | |
24 | +gulp.task('compress-css', function() { | |
25 | + gulp.src(options.src) | |
26 | + .pipe(cssMin()) | |
27 | + | |
28 | + .pipe(rename(destFile)) | |
29 | + .pipe(gulp.dest(destDir)) | |
30 | +}); | |
0 | 31 | \ No newline at end of file | ... | ... |
1 | +{ | |
2 | + "name": "yii2-gulp", | |
3 | + "version": "1.0.0", | |
4 | + "description": "Yii2 Gulp", | |
5 | + "keywords": [ | |
6 | + "tools" | |
7 | + ], | |
8 | + "author": "Darko Lukic", | |
9 | + "license": "ISC", | |
10 | + "dependencies": { | |
11 | + "gulp": "*", | |
12 | + "gulp-uglify": "*", | |
13 | + "minimist": "*", | |
14 | + "gulp-rename": "*", | |
15 | + "gulp-css": "*" | |
16 | + } | |
17 | +} | ... | ... |