.scss(SASS)を使用するスタンドアロンビルドモジュールを既存のAngularアプリにプレーンCSSで設定しました。これらを互いに隣接させて実行することは可能ですか?たとえば、angular-cli.json
defaultsセクションのカスタム構成が必要です。
"defaults": {
"styleExt": "css? scss?"
}
または、2つのうち1つだけを使用することは可能ですか?
Angular 6 +の編集
stylePreprocessorOptionsは引き続きサポートされます。ただし、新しく生成されたangular.json
を手動で更新する必要があります。その新しい場所は、jsonの「オプション」ブロック内にあります。
設定例は次のようになります。
"options": {
"outputPath": "../webapp",
"index": "src/index.html",
"main": "src/main.ts",
"tsConfig": "src/tsconfig.app.json",
"polyfills": "src/polyfills.ts",
"assets": [
{
"glob": "**/*",
"input": "src/resources",
"output": "/resources"
},
],
"styles": [
"src/styles.scss"
],
"stylePreprocessorOptions": {
"includePaths": [
"src/styles"
]
},
"scripts": []
}
変更されたパスに注意してください。
元の回答
実際、"styleExt"
を"css"
に設定することで、すぐに使用できるようになりました。特定のモジュールの多数のコンポーネントがSASSを使用していました。変数とミックスインを含むsassフォルダがあり、これらのscssファイルを正しくコンパイル/処理するには、angular-cli.json
のこの設定が必要でした:
"stylePreprocessorOptions": {
"includePaths": [
"sass"
]
}
アプリケーションは、cssファイルとscssファイルを組み合わせてうまくレンダリングします。このstyleExt
パラメータは、css, scss, less
コマンドを使用してコンポーネントを追加するときに、デフォルトのコンポーネントスタイル(angular-cli
)ファイルを生成するためにあると思います。
両方を使用できますが、スタイル拡張をSASSまたはCSSのみに設定する必要があります。
コンポーネントでCSSまたはSASSを使用する場合は、Angular CLIを使用して、次のようなコンポーネントを生成します
CSSの場合
ng g component my-component --style=css
SASSの場合
ng g component my-component --style=sass
したがって、スタイル拡張をSASSに設定し、プロジェクトでもCSS拡張を使用します
Scssはcssのスーパーセットであるため、styleExt
をscssに、cssファイルをscssに変更することをお勧めします。