Authored by htoooth

fix css

@@ -16,12 +16,12 @@ @@ -16,12 +16,12 @@
16 {{/dnsPrefetch.hosts}} 16 {{/dnsPrefetch.hosts}}
17 17
18 {{#if devEnv}} 18 {{#if devEnv}}
19 - <link rel="stylesheet" href="//{{devHost}}:5002/css/index.css">  
20 - <link rel="stylesheet" href="//{{devHost}}:5002/css/cart.index.css"> 19 + <link rel="stylesheet" href="//{{devHost}}:5002/css/base.css">
  20 + <link rel="stylesheet" href="//{{devHost}}:5002/css/{{#if cssModule}}{{cssModule}}.css{{^}}{{module}}.css{{/if}}">
21 21
22 {{^}} 22 {{^}}
23 <link rel="stylesheet" href="//{{#isEqual cdn 'qcloud'}}qcdn.yoho.cn{{^}}cdn.yoho.cn{{/isEqual}}/yohobuy-node/{{version}}/index.css"> 23 <link rel="stylesheet" href="//{{#isEqual cdn 'qcloud'}}qcdn.yoho.cn{{^}}cdn.yoho.cn{{/isEqual}}/yohobuy-node/{{version}}/index.css">
24 - <link rel="stylesheet" href="//{{#isEqual cdn 'qcloud'}}qcdn.yoho.cn{{^}}cdn.yoho.cn{{/isEqual}}/yohobuy-node/{{version}}/cart.index.css"> 24 + <link rel="stylesheet" href="//{{#isEqual cdn 'qcloud'}}qcdn.yoho.cn{{^}}cdn.yoho.cn{{/isEqual}}/yohobuy-node/{{version}}/{{#if cssModule}}{{cssModule}}.css{{^}}{{module}}.css{{/if}}">
25 {{/if}} 25 {{/if}}
26 </head> 26 </head>
27 <body> 27 <body>
@@ -78,6 +78,7 @@ @@ -78,6 +78,7 @@
78 "gulp-cssnano": "^2.1.2", 78 "gulp-cssnano": "^2.1.2",
79 "gulp-ftp": "^1.1.0", 79 "gulp-ftp": "^1.1.0",
80 "gulp-postcss": "^6.1.0", 80 "gulp-postcss": "^6.1.0",
  81 + "gulp-rename": "^1.2.2",
81 "gulp-sourcemaps": "^2.0.0-alpha", 82 "gulp-sourcemaps": "^2.0.0-alpha",
82 "gulp-util": "^3.0.7", 83 "gulp-util": "^3.0.7",
83 "handlebars-loader": "^1.4.0", 84 "handlebars-loader": "^1.4.0",
@@ -6,13 +6,17 @@ @@ -6,13 +6,17 @@
6 6
7 'use strict'; 7 'use strict';
8 8
  9 +const path = require('path');
  10 +
9 const gulp = require('gulp'); 11 const gulp = require('gulp');
  12 +const _ = require('lodash');
10 const gutil = require('gulp-util'); 13 const gutil = require('gulp-util');
11 const ftp = require('gulp-ftp'); 14 const ftp = require('gulp-ftp');
12 15
13 const postcss = require('gulp-postcss'); 16 const postcss = require('gulp-postcss');
14 const sourcemaps = require('gulp-sourcemaps'); 17 const sourcemaps = require('gulp-sourcemaps');
15 const cssnano = require('gulp-cssnano'); 18 const cssnano = require('gulp-cssnano');
  19 +const rename = require('gulp-rename');
16 20
17 const webpack = require('webpack'); 21 const webpack = require('webpack');
18 const WebpackDevServer = require('webpack-dev-server'); 22 const WebpackDevServer = require('webpack-dev-server');
@@ -48,9 +52,8 @@ const postcssPlugin = (et) => { @@ -48,9 +52,8 @@ const postcssPlugin = (et) => {
48 padding: 2 52 padding: 2
49 }, 53 },
50 groupBy(file) { 54 groupBy(file) {
51 - var group = file.url.split('/')[1];  
52 -  
53 - group = group === '' ? 'yo' : group; 55 + var dir = _.last(path.parse(file.styleFilePath).dir.split(path.sep));
  56 + var group = dir === 'scss' ? path.basename(file.styleFilePath, '.css') : dir;
54 57
55 return group ? Promise.resolve(group) : Promise.reject(group); 58 return group ? Promise.resolve(group) : Promise.reject(group);
56 } 59 }
@@ -125,13 +128,21 @@ gulp.task('dist', ['ge'], () => { @@ -125,13 +128,21 @@ gulp.task('dist', ['ge'], () => {
125 128
126 // postcss compile in dev 129 // postcss compile in dev
127 gulp.task('postcss-dev', () => { 130 gulp.task('postcss-dev', () => {
128 - return gulp.src(['scss/index.css', 'scss/cart.index.css']) 131 + return gulp.src(['scss/base.css', 'scss/*/_index.css', '!scss/plugin/*', '!scss/common/*'])
129 .pipe(sourcemaps.init()) 132 .pipe(sourcemaps.init())
130 .pipe(postcss(postcssPlugin(env.dev))) 133 .pipe(postcss(postcssPlugin(env.dev)))
131 .on('error', function(err) { 134 .on('error', function(err) {
132 gutil.log(err); 135 gutil.log(err);
133 this.emit('end'); 136 this.emit('end');
134 }) 137 })
  138 + .pipe(rename((cssPath) => {
  139 + if (cssPath.dirname === '.') {
  140 + return;
  141 + }
  142 +
  143 + cssPath.basename = `${cssPath.dirname}`;
  144 + cssPath.dirname = './';
  145 + }))
135 .pipe(sourcemaps.write('.')) 146 .pipe(sourcemaps.write('.'))
136 .pipe(gulp.dest('css/')); 147 .pipe(gulp.dest('css/'));
137 }); 148 });
@@ -158,9 +169,17 @@ gulp.task('font', () => { @@ -158,9 +169,17 @@ gulp.task('font', () => {
158 169
159 // postcss compile in pro 170 // postcss compile in pro
160 gulp.task('postcss', ['assets'], () => { 171 gulp.task('postcss', ['assets'], () => {
161 - return gulp.src(['scss/index.css', 'scss/cart.index.css']) 172 + return gulp.src(['scss/base.css', 'scss/*/_index.css', '!scss/plugin/*', '!scss/common/*'])
162 .pipe(postcss(postcssPlugin(env.pro))) 173 .pipe(postcss(postcssPlugin(env.pro)))
163 .pipe(cssnano()) 174 .pipe(cssnano())
  175 + .pipe(rename((cssPath) => {
  176 + if (cssPath.dirname === '.') {
  177 + return;
  178 + }
  179 +
  180 + cssPath.basename = `${cssPath.dirname}`;
  181 + cssPath.dirname = './';
  182 + }))
164 .pipe(gulp.dest(dist.css)); 183 .pipe(gulp.dest(dist.css));
165 }); 184 });
166 185
  1 +@import "../channel/index"
@@ -6,15 +6,5 @@ @@ -6,15 +6,5 @@
6 @import "common/dialog"; 6 @import "common/dialog";
7 @import "pager"; 7 @import "pager";
8 @import "path-nav"; 8 @import "path-nav";
9 -  
10 -/* 模块 */  
11 -@import 'help/index';  
12 -@import "channel/index";  
13 -@import "product/index";  
14 -@import "passport/index";  
15 @import "share"; 9 @import "share";
16 -@import 'home/index';  
17 -@import 'guang/index';  
18 -/*@import 'cart/index';*/  
19 -@import 'service/index';  
20 -@import '3party/index'; 10 +
  1 +@import "../channel/index"
1 -@charset "utf-8";  
2 -  
3 -/* 模块 */  
4 -@import 'cart/index';