react 项目中使用Sass

本文详细介绍如何在React项目中引入Sass,包括安装node-sass插件、编写Sass文件并在App.js中引用,实现样式定制。

使用react 脚手架新建了一个项目,想要引入 sass 。

本来是想用Less 的,但是在 npm run eject (网上的说法要暴露配置文件),时,项目提示:Create React App 2 supports TypeScript, Sass, CSS Modules .... 

于是,还是用Sass 好了。

但是,Sass 也不是直接写代码用就好。还是需要下载 node-sass 插件的。脚手架只是添加了 sass-loader 的支持,所以,sass-loader 就不用管了。

安装 node-sass

yarn add node-sass

试了一下,yarn add 真的比 npm install 要快不少...

安装好了后,我们就可以编写一个sass 文件:

test.scss 如下(放在src目录下)

a {
	color: red
}
p {
	color: red
}

然后再在 App.js 中插入代码 (src目录下)

import './test.scss';

然后启动项目,就可以啦。

### 在React项目使用Sass 1. **安装依赖**:在项目根目录下使用以下命令安装Sass相关依赖: ```bash npm install sass ``` 2. **创建Sass文件**:在项目中创建一个`.scss`文件,例如`test.scss`,并编写样式: ```scss .box { color: blue; } ``` 3. **引入Sass文件**:在`App.js`中引入该Sass文件: ```jsx import React from 'react'; import './test.scss'; function App() { return ( <div className="App"> <header className="App-header"> <p className='box'> React. <span>你好</span> </p> </header> </div> ); } export default App; ``` ### 在React项目使用Less 1. **安装依赖**:在项目根目录下使用以下命令安装Less相关依赖: ```bash npm install less less-loader -S ``` 2. **配置webpack**:若项目使用`create-react-app`创建,需要暴露配置文件(`npm run eject`),然后在`webpack.config.js`中增加以下代码: ```javascript { test: /\.less$/, exclude: /\.module\.less$/, use: [ { loader: require.resolve('style-loader'), options: { injectType: 'singletonStyleTag', }, }, { loader: require.resolve('css-loader'), options: { importLoaders: 2, sourceMap: isEnvProduction && shouldUseSourceMap, }, }, { loader: require.resolve('less-loader'), options: { sourceMap: isEnvProduction && shouldUseSourceMap, }, }, ], sideEffects: true, }, { test: /\.module\.less$/, use: [ { loader: require.resolve('style-loader'), options: { injectType: 'singletonStyleTag', }, }, { loader: require.resolve('css-loader'), options: { importLoaders: 2, sourceMap: isEnvProduction && shouldUseSourceMap, modules: true, getLocalIdent: getCSSModuleLocalIdent, }, }, { loader: require.resolve('less-loader'), options: { sourceMap: isEnvProduction && shouldUseSourceMap, }, }, ], } ``` 3. **创建Less文件**:创建一个`.less`文件,例如`App.less`,并编写样式: ```less .box { color: red; } ``` 4. **引入Less文件**:在`App.js`中引入该Less文件: ```jsx import React from 'react'; import './App.less'; function App() { return ( <div className="App"> <header className="App-header"> <p className='box'> React. <span>你好</span> </p> </header> </div> ); } export default App; ```
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值