grunt-contrib-cssmin
は、内部的に
clean-css
を使用し、任意のネイティブ(
clean-css
)オプションは
「に渡されますクリーンcss "。
clean-css
便宜のためにlevelsにグループを最適化します。
restructureRules: false, // should disable all removals
skipProperties: [] // specify individual rules to skip
これはそれを行う必要があります:ルールの除去を制御する2つのオプションがあり、両方ともレベル2の下に
cssmin: {
options: {
skipProperties: ['r']
}
}
をクリーンCSS 4.2.0と起動」フラグメントを完全にスキップする「コメント」ブロックメソッドが利用可能になります:
/* clean-css ignore:start */
.testClass {
r: 4;
width: 3px;
margin-left: 18px !important;
}
/* clean-css ignore:end */
注:4.2
はまだリリースされていません。テストのビットの後
は、上記のいずれもが、彼らは、ドキュメントによると、「すべきである」ものの、実際に、動いていないようにみえ。
私は(私は縮小のためのうなり声で使用するものである)
grunt-postcss cssnano
で
grunt-contrib-cssmin
を交換されている唯一の選択肢:実際には
npm install grunt-postcss cssnano
grunt.initConfig({
postcss: {
processors: [
require('cssnano')({
// options here...
})
]
},
});
grunt.loadNpmTasks('grunt-postcss');
grunt.registerTask('postcss', ["postcss"]);
、私はより多くのpostcss
アドオンを使用しています。あなたがする必要があることを忘れないでください
grunt jack
:
module.exports = function(grunt) {
grunt.initConfig({
postcss: {
options: {
processors: [
require('pixrem'),
require('autoprefixer')({browsers: ['> 0%']}),
require('postcss-flexboxfixer'),
require('cssnano')({
autoprefixer:false,
zindex: false
})
]
},
jack: {
files: [{
expand:true,
flatten:true,
cwd: 'assets/',
src: ['scss/*.css', '!**/variables.css'],
dest:'assets/css/'
}]
}
},
watch: {
styles: {
files: [
'assets/scss/*.css'
],
tasks:['postcss:jack']
}
}
});
grunt.loadNpmTasks('grunt-postcss');
grunt.loadNpmTasks('grunt-contrib-watch');
grunt.registerTask('default', ["watch:styles"]);
grunt.registerTask('jack', ["postcss:jack"]);
};
私は意図的にのみpostcss
プラグインを実行するタスクを登録:
はここautoprefixer
、pixrem
、postcss-flexbox
とcssnano
と実用的な例ですpostcss
を使用して各アドオンをインストールします。上記の場合は、あなたが必要があるだろう:
npm install grunt-postcss cssnano pixrem autoprefixer postcss-flexboxfixer
を...と、最も可能性の高い、あなたが持っているものは何でも合うようにfiles
を変更したいと思います。
今回は、テストしました。 r
プロパティは、それを縮小したファイルにします。
.testClass{r:20;width:3px;margin-left:18px!important}
これは動作しません。私はskipProperties:['r']を私のオプションで追加しようとしましたが、エラーは "test.cssで無効なプロパティ名 'r'が現れます:2:3。結果のファイルにはrプロパティが含まれていません。 –
@Jack、私は別の解決策で私の答えを更新しました。それが何らかの目的であれば教えてください。 –
ありがとうAndrei。私はこれをテストし、実際に期待どおりに動作します。あなたのお時間をいただきありがとうございます。この答えを考えてください。 –