在Create React App中啟用Sass和Less的方法示例
關(guān)于創(chuàng)建 create-react-app 項(xiàng)目請(qǐng)查看:create-react-app 的安裝與創(chuàng)建 。
關(guān)于在 less 和 sass 如何在 create-react-app 啟用 CSS Modules,請(qǐng)查看我的上一篇文章: 在 Create React App 中使用 CSS Modules 。
啟用 Sass 語(yǔ)法編寫 CSS
create-react-app 腳手架中已經(jīng)添加了 sass-loader 的支持,所以只需要安裝 node-sass 插件即可
安裝 node-sass 插件
$ npm install node-sass --save # 或者 # $ yarn add node-sass
用法:
編寫 sass 文件:App.scss
.App { text-align: center; &-logo { animation: App-logo-spin infinite 20s linear; height: 40vmin; } }
在 js 文件中直接使用:改寫 App.js 文件
import React, { Component } from 'react'; import logo from './logo.svg'; import './App.scss'; class App extends Component { render() { return ( <div className="App"> <header className="App-header"> <img src={logo} className="App-logo" alt="logo" /> </header> </div> ); } } export default App;
在瀏覽器中查看效果
運(yùn)行項(xiàng)目,此時(shí)在瀏覽器中即可查看到 logo 圖片在緩慢轉(zhuǎn)動(dòng)。
啟用 Less 語(yǔ)法編寫 CSS
由于 create-react-app 腳手架中并沒(méi)有配置關(guān)于 less 文件的解析,所以我們需要自己進(jìn)行配置。需要安裝的插件 less , less-loader 。
添加 Less 相關(guān)配置
在命令行運(yùn)行 npm run eject 命令
此命令會(huì)將腳手架中隱藏的配置都展示出來(lái),此過(guò)程不可逆
運(yùn)行完成之后,打開 config 目錄下的 webpack.config.js 文件,找到 // style files regexes 注釋位置,仿照其解析 sass 的規(guī)則,在下面添加兩行代碼
// 添加 less 解析規(guī)則 const lessRegex = /\.less$/; const lessModuleRegex = /\.module\.less$/;
找到 rules 屬性配置,在其中添加 less 解析配置
// Less 解析配置 { test: lessRegex, exclude: lessModuleRegex, use: getStyleLoaders( { importLoaders: 2, sourceMap: isEnvProduction && shouldUseSourceMap, }, 'less-loader' ), sideEffects: true, }, { test: lessModuleRegex, use: getStyleLoaders( { importLoaders: 2, sourceMap: isEnvProduction && shouldUseSourceMap, modules: true, getLocalIdent: getCSSModuleLocalIdent, }, 'less-loader' ) }
此時(shí)配置完成,安裝 less 和 less-loader 插件即可
$ npm install less less-loader --save
用法
以下代碼根據(jù)上面 sass 用法中的文件進(jìn)行修改
編寫 less 文件:App.less
.App { text-align: center; &-logo { animation: App-logo-spin infinite 20s linear; height: 40vmin; } }
在 js 文件中直接使用:改寫 App.js 文件
import React, { Component } from 'react'; import logo from './logo.svg'; import './App.less'; class App extends Component { render() { return ( <div className="App"> <header className="App-header"> <img src={logo} className="App-logo" alt="logo" /> </header> </div> ); } } export default App;
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
react?fiber使用的關(guān)鍵特性及執(zhí)行階段詳解
這篇文章主要為大家介紹了react?fiber使用的關(guān)鍵特性及執(zhí)行階段詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-05-05探討JWT身份校驗(yàn)與React-router無(wú)縫集成
這篇文章主要為大家介紹了JWT身份校驗(yàn)與React-router無(wú)縫集成的探討解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-06-06React Hooks: useEffect()調(diào)用了兩次問(wèn)題分析
這篇文章主要為大家介紹了React Hooks: useEffect()調(diào)用了兩次問(wèn)題分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-11-11React Native之ListView實(shí)現(xiàn)九宮格效果的示例
本篇文章主要介紹了React Native之ListView實(shí)現(xiàn)九宮格效果的示例,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-08-08React Native自定義Android的SSL證書鏈校驗(yàn)
這篇文章主要為大家介紹了React Native自定義Android的SSL證書鏈校驗(yàn)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-10-10詳解關(guān)于React-Router4.0跳轉(zhuǎn)不置頂解決方案
這篇文章主要介紹了詳解關(guān)于React-Router4.0跳轉(zhuǎn)不置頂解決案,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2019-05-05next-redux-wrapper使用細(xì)節(jié)及源碼分析
這篇文章主要為大家介紹了next-redux-wrapper使用細(xì)節(jié)及源碼分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-02-02React?hook實(shí)現(xiàn)簡(jiǎn)單的websocket封裝方式
這篇文章主要介紹了React?hook實(shí)現(xiàn)簡(jiǎn)單的websocket封裝方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-09-09