概述
在用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文件即可。