美文网首页
React脚手架扩展less样式

React脚手架扩展less样式

作者: 洛珎 | 来源:发表于2019-10-29 17:47 被阅读0次

create-react-app是由React官方提供,并推荐构建React单页应用程序的最佳方法,但是默认不支持less,需要手动修改配置文件,那么如何修改create-react-app配置?

1、安装loader

命令:npm install  less-loader less

2,使用命令npm run eject或者yarn eject

(npm run eject表示拷贝一份配置文件,覆盖掉node-modules配置)

安装之后文件夹会多出config文件和script文件

修改weppack.config.js文件中,添加less配置

修改两处:

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

test: /\.css$/修改为test: /\.(css|less)$/;

2.在use数组最后新增一个对象元素{loader: require.resolve('less-loader')}

(上面是折叠后的,未折叠的代码部分如下:)

 // common function to get style loaders

  const getStyleLoaders = (cssOptions, preProcessor) => {

    const loaders = [

      isEnvDevelopment && require.resolve('style-loader'),

      isEnvProduction && {

        loader: MiniCssExtractPlugin.loader,

        options: shouldUseRelativeAssetPaths ? { publicPath: '../../' } : {},

      },

      {

        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,

            }),

            // Adds PostCSS Normalize as the reset css with default options,

            // so that it honors browserslist config in package.json

            // which in turn let's users customize the target behavior as per their needs.

            postcssNormalize(),

          ],

          sourceMap: isEnvProduction && shouldUseSourceMap,

        },

      },

    ].filter(Boolean);

    {loader: require.resolve('less-loader')}//*****************修改处

    if (preProcessor) {

      loaders.push(

        {

          loader: require.resolve('resolve-url-loader'),

          options: {

            sourceMap: isEnvProduction && shouldUseSourceMap,

          },

        },

        {

          loader: require.resolve(preProcessor),

          options: {

            sourceMap: true,

          },

        }

      );

    }

    return loaders;

  };

修改完成后:

需要重新启动项目,即可使用less样式

相关文章

  • React脚手架扩展less样式

    create-react-app是由React官方提供,并推荐构建React单页应用程序的最佳方法,但是默认不支持...

  • React

    安装react脚手架工具create-react-app并创建项目 react配置less 安装less、less...

  • react 配置 less 以及按需加载 和css 作用域

    react脚手架如何配置less和ant按需加载的方法步骤 这篇文章主要介绍了react脚手架如何配置less和a...

  • less样式

    less样式常用插件 less样式常用插件easy less(Vscode搜索安装即可) 配置:首选项>设置>扩展...

  • 从零开始react项目构建

    react项目构建使用脚手架:create-react-app 配置:antd UI框架配置和less配置 一、命...

  • 浅析less语法

    浅析less语法 less是一种动态样式语言。作为CSS的一种扩展,Less不仅完全兼容CSS语法,而且less将...

  • less学习与总结

    Less是什么Less是一种动态的样式语言,Less扩展了CSS的动态行为,比如说,设置变量(variables)...

  • 浅析less语法

    less是一种动态样式语言。作为CSS的一种扩展,Less不仅完全兼容CSS语法,而且less将CSS赋予了动态语...

  • react CSS Modules

    前提 项目是采用create-react-app 搭建的脚手架工程。 背景 react 组件之间会出现css样式污...

  • (三)React脚手架

    React脚手架 1、React脚手架 React脚手架的概念: React脚手架和Vue脚手架[https://...

网友评论

      本文标题:React脚手架扩展less样式

      本文链接:https://www.haomeiwen.com/subject/pnpgvctx.html