問題
-
gulp build
タスクを起動した後、ツールでは以下のようなエラーが発生します。[15:14:33] 'build:compile-lib-sass' errored after 811 ms
[15:14:33] Error in plugin 'gulp-sass'
Message:
build/_css/mystyle.scss
Error: It's not clear which file to import for '@import "my-variables"'.
Candidates:
my-variables.scss
my-variables.css
Please delete or rename all but one of these files.
on line 1 of build/_css/mystyle.scss
>> @import 'my-variables';
^
domainEmitter: [object Object]
domainThrown: false
[15:14:33] 'build:compile-css' errored after 812 ms
[15:14:33] 'build' errored after 1.57 s
環境
- Liferay DXP 7.0以降
- Liferay Theme Generator
解決
- 最も一般的なケースシナリオは、次の方法で解決できます。my-theme/src/css/に移動し、my-variables.scssの名前を_my-variables.scssに変更します
- その他のユースケースや解決策としては、以下のようなものが考えられます
- 7.1 Theme building with maven and sass errors
- How to fix build error which file to import _custom.scss or custom.css?
追加情報
- アンダースコア
_
なしで始まるSCSSファイル名は、独自にコンパイルされ、CSSに変換されます。"@import"
でインポートするファイルがあることをSASSに通知する場合、インポートされるファイル名は、認識されるためにアンダースコア_
で始まる必要があります。 これは、SASSでパーシャルファイルを管理する方法と一致しています:https://sass-lang.com/guide#topic-4