react支持ts+ less配置

5 篇文章 0 订阅
  1. 全局安装脚手架工具
    npm install -g create-react-app

  2. 使用脚手架创建react项目
    npx create-react-app demo --template typescript

  3. 安装less
    npm install less less-loader --save-dev

  4. 添加less的全局类型声明(在react-app-env.d.ts中添加以下内容)

declare module "*.less" {
  const less: any;
  export default less;
}
  1. 配置webpack对less支持
    运行npm run eject暴漏webpack的配置文件config/webpack.config.js
    注意:在react项目中暴露webpack配置文件,命令行即:yarn eject 或 npm run eject

结果报了一个以前没有出现过的错误:Remove untracked files, stash or commit any changes, and try again.

运行npm run eject需要没有更新代码,我们提交一次代码就行了,输入下面命令行就行了:
git add .

git commit -m "Save before ejecting"

npm run eject

  1. 运行npm run eject暴漏webpack的配置文件config/webpack.config.js
    在第73行左右(主要找到配置sass和css的位置)配置如下:
    //添加如下支持less配置代码
const lessRegex = /\.less$/;
const lessModuleRegex = /\.module\.less$/;

在第508行左右添加如下代码:

 {
   test: lessRegex,
   exclude: lessModuleRegex,
   use: getStyleLoaders(
     {
       importLoaders: 2,
       // modules: true, 如果仅打开cssModule  那么原类名 将会没有前缀,无法与自己的样式类名关联,所以下边做法可取
       sourceMap: isEnvProduction
       ? shouldUseSourceMap
       : isEnvDevelopment,
       modules: {
         mode: 'icss',
       },
     },
     'less-loader'
   ),
   sideEffects: true,
 },

 {
   test: lessModuleRegex,
   use: getStyleLoaders(
     {
       importLoaders: 2,
       sourceMap: isEnvProduction
         ? shouldUseSourceMap
         : isEnvDevelopment,
       modules: {
         mode: 'local',
         getLocalIdent: getCSSModuleLocalIdent,
       },
     },
     'less-loader'
   ),

 },
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值