postcssで@importがうまくいきません。
・実行結果が下記のように読み込んだファイルの部分だけミニファイされず、calcも実行されていません。読み込み自体はできているようです。
.baseのみbase.css
・圧縮後
.base {
color: blue;
line-height: 1.5em+1em;
}
.logo{color:#88e18e;width:48px;width:3rem}.logo .button{size:4rem 5rem}~
・gulp実行前のCSS
@import url('base.css');
:root {
--brand-color: #88E18E;
}
.logo {
color: var(--brand-color);
width: 3rem;
.button {
size: 4rem 5rem;
}
}
・
//gulpfile.js
var gulp = require('gulp'); //gulpをインポート
var postcss = require('gulp-postcss'); //gulp-postcssをインポート
var cssnext = require('postcss-cssnext'); //cssnextをインポート
var nested = require('postcss-nested');
var reporter = require('postcss-reporter'); //stylelintだけだとレポートが出力されない為
var csswring = require('csswring');
var calc = require('postcss-calc');
var postcssimport = require('postcss-import');
gulp.task('css', function () { //”css”タスクを登録
var plugins = [
cssnext, //一旦空の配列を作成
nested,
reporter,
calc,
csswring,
postcssimport
];
return gulp.src('./src-before/*.css') //src-before下にある.cssファイルを指定
.pipe(postcss(plugins)) //PostCSSにファイルを処理してもらう
.pipe(gulp.dest('./dest-after')); //生成されたCSSをdest-after下に配置
});
最後に@importを使うのは初めてなのですが、読み込ます場所は、特に規定がなく
CSS設計上読み込ませたいところに入れればよいと考えてよいでしょうか?
どこかにまとめて記載しないといけないなどのコーディングルールはないですよね。