在react中使用less(官方做法)

本文介绍如何在create-react-app创建的React项目中引入LESS预处理器,通过安装node-less-chokidar和npm-run-all库,并修改package.json文件实现LESS的支持。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

概述

在用create-react-app搭建react app的时候,原生并不支持less,只支持css。不过create-react-app官方给了一种方法使用less,我觉得很有用,记录下来,供以后开发时参考,相信对其他人也有用。

参考资料:
Adding a CSS Preprocessor (Sass, Less etc.)

node-less-chokidar

主要利用了node-less-chokidar这个库。

首先导入node-less-chokidar和npm-run-all这两个库:

npm install node-less-chokidar --save-dev
npm install npm-run-all --save-dev

然后修改package.json:

"scripts": {
    "start": "npm run build-css && run-p -ncr watch-css start-js",
    "start-js": "react-scripts start",
 
    "build": "run-s -n build-css build-js",
    "build-js": "react-scripts build",
 
    "test": "run-s -n build-css test-js",
    "test-js": "react-scripts test --env=jsdom",
 
    "build-css": "node-less-chokidar src",
    "watch-css": "node-less-chokidar src --watch"
},
"devDependencies": {
    "node-less-chokidar": "^0.3.0",
    "npm-run-all": "^4.1.3"
}

最后运行npm start命令即可。

注意:这个库的原理是,在执行create-react-app之前,就把less编译成css并放在less所在的文件夹里面。所以,项目中js里面引用css的语句不用改成less,只需要把.css文件改成.less文件即可。

转载于:https://www.cnblogs.com/yangzhou33/p/9625976.html

React应用中引入并使用Less,你需要按照以下步骤操作: 1. **安装依赖**: 首先,需要在项目中安装`react-app-rewired`和`style-loader`、`css-loader`以及`less-loader`,它们分别用于修改配置、处理CSS和Less文件。通过npm或yarn运行以下命令: ``` npm install -D react-app-rewired style-loader css-loader less-loader less ``` 2. **配置webpack**: 使用`react-app-rewired`来修改`config-overrides.js`文件,添加对LESS的支持。打开这个文件,然后在`configureWebpack`函数里添加以下内容: ```javascript const path = require('path'); module.exports = function override(config, env) { config.module.rules.push({ test: /\.less$/, use: [ 'style-loader', 'css-loader', 'less-loader', ], include: paths.appSrc, }); return config; }; ``` 3. **引用Less文件**: 在React组件中导入Less文件,就像普通的CSS一样,只需加上`.less`扩展名: ```javascript import './YourComponent.less'; ``` 或者如果你想要将样式打包成单独的CSS文件,可以创建一个`.less`文件并在入口文件(如`index.js`)中导出: ```javascript import './variables.less'; // 共享变量 export default function App() { /* ... */ } ``` 4. **启用热加载**: 如果你想让更改的Less文件实时更新,可以在`package.json`的scripts部分设置一个热加载命令: ```json "scripts": { "start": "react-scripts start", "start:watch-less": "postcss-watch src/index.css --use postcss-less --use autoprefixer" }, ``` 然后运行 `npm run start:watch-less`。 现在你应该能在React项目中正常使用Less了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值