ReactにSass導入
ReactアプリケーションにSassを導入する方法です。
Sassについてはこちら↓
![](https://qiita-user-contents.imgix.net/https%3A%2F%2Fcdn.qiita.com%2Fassets%2Fpublic%2Farticle-ogp-background-412672c5f0600ab9a64263b751f1bc81.png?ixlib=rb-4.0.0&w=1200&mark64=aHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTk3MiZoPTM3OCZ0eHQ9JUUzJTgxJTkzJUUzJTgyJThDJUUzJTgxJThCJUUzJTgyJTg5JUUzJTgxJUFGY3NzJUUzJTgxJUFGU2FzcyVFMyU4MSVBNyVFNiU5QiVCOCVFMyU4MSU5MyVFMyU4MSU4NiVFMyU4MCU4MiZ0eHQtYWxpZ249bGVmdCUyQ3RvcCZ0eHQtY29sb3I9JTIzMjEyMTIxJnR4dC1mb250PUhpcmFnaW5vJTIwU2FucyUyMFc2JnR4dC1zaXplPTU2JnM9ZGI4Y2Y0OTk1ZmRkYzQ2MzNmYmZhOTEwYmYzNmU3NmM&mark-x=142&mark-y=57&blend64=aHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZoPTc2Jnc9NzcwJnR4dD0lNDBtMG5jaDEmdHh0LWNvbG9yPSUyMzIxMjEyMSZ0eHQtZm9udD1IaXJhZ2lubyUyMFNhbnMlMjBXNiZ0eHQtc2l6ZT0zNiZ0eHQtYWxpZ249bGVmdCUyQ3RvcCZzPTA1YmE3ZjM5MjYzZmFkYzMzZjUyM2QxZjI5ODVhYzQy&blend-x=142&blend-y=486&blend-mode=normal&s=98fb2adce5b55668792c2ed2aca5fbcc)
create-react-app2以降で作成した場合
create-react-app v2.0以降でReactアプリを作成した場合は、特別な設定もなくSassを使うことができます。
単に下のようにコンポーネントで.sassまたは.scssファイルをインポートして、特別なことを意識せずともそのまま使うことができます。
import './style.scss'
これは、create-react-appであらかじめ必要なライブラリのインストールと設定がされるためです。
参考は下記ページ
![](https://hatolabo.com/wp-content/uploads/cocoon-resources/blog-card-cache/7c87a122721eba666b7933247636e7c7.png)
create-react-app2以前に作った場合
create-react-app v2.0以前で作った場合、必要なライブラリを入れて設定する必要があります。
まず、下記2つのライブラリをnpm installします。
$ npm install --save-dev node-sass $ npm install --save-dev npm-run-all
node-sassは.scss, .sass形式のファイルを.cssに変換したり圧縮したりしてくれます。npm-run-allは複数のreact-scriptsを実行するためのライブラリです。
次に、package.jsonのscriptsを下記のように編集します。
"scripts": { "start": "npm-run-all -p watch-css start-app", "build": "react-scripts build && npm run build-css", "build-css": "node-sass ./src/style/style.scss -o ./src", "watch-css": "node-sass -wr ./src/style/style.scss -o ./src", "start-app": "react-scripts start", "test": "react-scripts test", "eject": "react-scripts eject" },
build-css, watch-css, start-appを追加し、startとbuildコマンドを編集しています。
build-css, watch-cssコマンドではsrc/style/style.scssファイルをsrc/にcssファイルとして出力するよう指定しています。watch-cssではsrc/style/以下のファイルが変更された場合に自動でcssファイルが書き出されます。
指定したパスsrc/style/style.scssにファイルがないとエラーになるので、先にファイルを作っておいて下さい。
startコマンドではreact-scripts startと同時にwatch-cssコマンドも実行するようにし、開発中もscssファイルの変更があれば自動で画面に反映されるようにしています。buildコマンドではreact-scripts build後にbuild-cssも実行するようにしています。
最後に、App.jsでsrc/style.cssファイルを読み込むよう追記すればOKです。
//App.jsに追記 import './style.css'
これでnode-sassにより変換されたcssファイルを読み込むことができます。
コメント