从零开始搭建一个react项目

1. 初始化项目

npx create-react-app my-react-app
cd my-react-app

2.安装less和less-loader

npm install less less-loader --save-dev
//yarn add less less-loader --dev

3.修改webpack配置


npm run eject
//不可逆 也可使用customize-cra和react-app-rewired,来覆盖Create React App的默认Webpack配置

运行此命令后,你的项目根目录下将出现一个config文件夹,其中包含Webpack的配置文件,打开webpack.config.js找到module下面的rules数组

// module: {
     // rules: [
        //{
          //oneOf: [
//放这里
          //].filter(Boolean),
//}

{
  test: /\.(css|less)$/,
  use: [
    require.resolve('style-loader'),
    {
      loader: require.resolve('css-loader'),
      options: {
        importLoaders: 1,
      },
    },
    {
      loader: require.resolve('postcss-loader'),
      options: {
        // options here
      },
    },
    {
      loader: require.resolve('less-loader'), // adds support for less files
      options: {
        lessOptions: { // optional: pass options to less-loader
          javascriptEnabled: true,
        },
      },
    },
  ],
}

5.打开模块化

 test: /\.(css|less)$/,
              use: [
                require.resolve('style-loader'),
                {
                  loader: require.resolve('css-loader'),
                  options: {
                    importLoaders: 1,
                    modules:true,//打开模块化
                  },
                },
//在style files regexes下面加这段
const lessRegex = /\.(less)$/;
const lessModuleRegex = /\.module\.less$/;

//sassRegex下面添加这段

{
  test: lessRegex,
  exclude: lessModuleRegex,
  use: getStyleLoaders(
              {
                importLoaders: 3,
                modules:true,   //我是这里出不来,又新增了这条
                sourceMap: isEnvProduction
                  ? shouldUseSourceMap
                  : isEnvDevelopment,
              },
              'less-loader'
            ),
            sideEffects: true,
          },
          {
            test: lessModuleRegex,
            use: getStyleLoaders(
              {
                importLoaders: 3,
                modules:true,   
                sourceMap: isEnvProduction
                  ? shouldUseSourceMap
                  : isEnvDevelopment,
                modules: {
                  getLocalIdent: getCSSModuleLocalIdent,
                },
              },
              'less-loader'
            ),
},


/*********/
loader: require.resolve(‘css-loader’),
//options: cssOptions, 这句改成
options:{modules:{localldentName:'[name][local]_[hash:base64:5]'}}

7.运行项目

npm start

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值