• React官方脚手架不支持less问题解决


    create-react-app是由React官方提供,并推荐构建React单页应用程序的最佳方法,但是默认不支持less,需要手动集成:

    1,必须手动安装less

    npm install less less-loader

    2,暴露webpack配置文件【npm run eject】,修改weppack.config.js文件中,添加less配置

    在module.rules节点中找到 css 文件的加载规则:

    1. test: /.css$/ 修改为 test: /.(css|less)$/
    2. use数组最后新增一个对象元素{loader: require.resolve('less-loader')}

    修改完成后:

    const getStyleLoaders = (cssOptions, preProcessor) => {
        const loaders = [
          isEnvDevelopment && require.resolve('style-loader'),
          isEnvProduction && {
            loader: MiniCssExtractPlugin.loader,
            options: Object.assign(
              {},
              shouldUseRelativeAssetPaths ? { publicPath: '../../' } : undefined
            ),
          },
          {
            loader: require.resolve('css-loader'),
            options: cssOptions,
          },
          {
            // Options for PostCSS as we reference these options twice
            // Adds vendor prefixing based on your specified browser support in
            // package.json
            loader: require.resolve('postcss-loader'),
            options: {
              // Necessary for external CSS imports to work
              // https://github.com/facebook/create-react-app/issues/2677
              ident: 'postcss',
              plugins: () => [
                require('postcss-flexbugs-fixes'),
                require('postcss-preset-env')({
                  autoprefixer: {
                    flexbox: 'no-2009',
                  },
                  stage: 3,
                }),
              ],
              sourceMap: isEnvProduction ? shouldUseSourceMap : isEnvDevelopment,
            },        
          },
          {
            loader: require.resolve('less-loader') // compiles Less to CSS
          }
        ].filter(Boolean);
        if (preProcessor) {
          loaders.push({
            loader: require.resolve(preProcessor),
            options: {
              sourceMap: isEnvProduction ? shouldUseSourceMap : isEnvDevelopment,
            },
          });
        }
        return loaders;
      };

    需要重新启动项目,即可看到less样式可用!

    【完】

    新年flag3——每个月读两本书,微信读书打卡或者宅机kindle打卡

  • 相关阅读:
    最好的 6 个 HTML5 的多媒体播放器
    原型开发、模型构建和设计反馈在线工具
    让Xcode 4.2生成的app支持旧版iOS设备(armv6)
    TOUCHXML解析xml
    50 个最佳 CSS3 教程大放送
    十八般武艺!移动应用开发者必备的18款利器
    ios开源程序集
    iOS如何隐藏各种bar
    读书笔记之:C语言教程(C程序设计第三版)——清华大学
    JM8.6中帧内帧间模式的选择
  • 原文地址:https://www.cnblogs.com/tangjiao/p/10366204.html
Copyright © 2020-2023  润新知