react에서 less를 사용하려면 설정을 다시 해줘야한다.
npm run eject로 숨겨진 웹팩을 꺼내서 수정을 해도 되지만 추후에 설정이 어려워질 수 있으므로 craco를 사용한다.
craco : Create React App Configuration Override
craco를 통한 less설치
unable to resolve dependency tree 오류 발생
$npm install @craco/craco --save --legacy-peer-deps
$npm install craco-less --save --legacy-peer-deps
unable to resolve dependency tree 에러가 발생하면 --legacy-peer-deps추가 해준다.
script명령어를 craco로 변경
//pakage.json
"scripts": {
"start": "craco start",
"build": "craco build",
"test": "craco test",
"eject": "react-scripts eject"
},
root파일에서 craco.config.js파일 생성후 아래 코드 넣기
// craco.config.js
const CracoLessPlugin = require('craco-less');
module.exports = {
plugins: [
{
plugin: CracoLessPlugin,
options: {
lessLoaderOptions: {
lessOptions: {
modifyVars: {
'@primary-color': '#1DA57A',
'@link-color': '#1DA57A',
'@border-radius-base': '2px',
},
javascriptEnabled: true,
},
},
},
},
],
};
https://www.npmjs.com/package/craco-less
craco-less
A Less plugin for craco / react-scripts / create-react-app. Latest version: 2.0.0, last published: 6 months ago. Start using craco-less in your project by running `npm i craco-less`. There are 52 other projects in the npm registry using craco-less.
www.npmjs.com
App.css -> App.less
App.js파일안에 파일확장자도 변경해서 사용하기
'FrontEnd Dev > react' 카테고리의 다른 글
[react] 주소의 # 없애기 - BrowserRouter (0) | 2022.05.26 |
---|---|
[react] error - A component is changing a controlled input (0) | 2022.05.24 |
[react]유효성 검사 (form validation) (0) | 2022.05.13 |
[react] 자식컴포넌트 상태를 부모에 전달하기(forwardRef, useImperativeHandle ) (0) | 2022.05.11 |
[react] git에 배포하기 (0) | 2022.05.04 |