Magento2ついでにGruntを
即時反映がしたくてMagento2でLESSからCSSを書き出すときにgruntコマンドを使用するわけだが、これにより吐き出されるCSSは初期状態ではMagento2がデフォルトで持っているCSSの形とは違う。
具体的には、
- ソースマップがコメントとして書き出されている
- コンプレス設定がなされていない
以上の2点。
style-l.cssとstyle-m.cssはただでさえ、いろいろ書かれていて重たいCSSなので、できれば余計な文字列は削除したいものだ。
というわけで、下記の設定ファイルを編集する。
/dev/tools/grunt/configs/less.jsの大体20行目付近
var lessOptions = {
options: {
sourceMap: true,
strictImports: false,
sourceMapRootpath: '/',
dumpLineNumbers: false, // use 'comments' instead false to output line comments for source
ieCompat: false
},
setup: {
files: {
'<%= path.css.setup %>/setup.css': '<%= path.less.setup %>/_setup.less'
}
},
updater: {
files: {
'<%= path.css.updater %>/updater.css': '<%= path.less.setup %>/_setup.less'
}
},
documentation: {
files: {
'<%= path.doc %>/docs.css': '<%= path.doc %>/source/docs.less'
}
}
};
optionsの中を下記のように変更。
var lessOptions = {
options: {
sourceMap: false, //true→falseに変更
compress : true, //compress追加
strictImports: false,
sourceMapRootpath: '/',
dumpLineNumbers: false, // use 'comments' instead false to output line comments for source
ieCompat: false
},
setup: {
files: {
'<%= path.css.setup %>/setup.css': '<%= path.less.setup %>/_setup.less'
}
},
updater: {
files: {
'<%= path.css.updater %>/updater.css': '<%= path.less.setup %>/_setup.less'
}
},
documentation: {
files: {
'<%= path.doc %>/docs.css': '<%= path.doc %>/source/docs.less'
}
}
};
これで、grunt less:テーマ名を実行した際にソースマップの非表示とコンプレス反映がなされて、CSSが書き出される。
