react安装less , scss

 

分割线-------------------------------------------------------start----------------------------------------------

使用Less语法,不暴露webpack文件,并改写webpack

一般是运行npm run eject 将webpack的配置暴露出来,再改写webpack配置文件。

改写webpack配置,使用Less语法:

1、使用less,首先得下载less、less-loader、css-loader、style-loader

npm install less less-loader css-loader style-loader —save-dev

2、不暴露webpack文件的方法:使用react-app-rewired

customize-cra插件是自定义react-app-rewired核心功能的配置

react-app-rewired:https://github.com/timarney/react-app-rewired

customize-cra:https://github.com/arackaf/customize-cra#available-plugins

npm install react-app-rewired --save-dev

 

npm install customize-cra --save-dev

新建config-overrides.js文件 

 

/* config-overrides.js */

const { override, addLessLoader } = require("customize-cra");

module.exports = override(

    addLessLoader({

        javascriptEnabled: true,

    })

);

修改package.json文件

  /* package.json */  

"scripts": {

-   "start": "react-scripts start",

+   "start": "react-app-rewired start",

-   "build": "react-scripts build",

+   "build": "react-app-rewired build",

-   "test": "react-scripts test --env=jsdom",

+   "test": "react-app-rewired test --env=jsdom",

    "eject": "react-scripts eject"

}

文件引入.less文件即可生效。

分割线-----------------------------------------------end---------------------------------

使用 create-react-app 脚手架创建项目后,默认是不支持 less 的。所以我们需要手动添加。

(如果想使用scss可以不暴露文件,往下看)

第一步 暴露webpack配置文件

使用 create-react-app 创建的项目,默认情况下是看不到 webpack 相关的配置文件,我们需要给它暴露出来,使用下面命令即可:

npm run eject

这样就可以修改 webpack 相关配置了。

第二步 添加less

npm add less less-loader

第三步 修改webpack配置文件

我们需求修改 webpack.config.dev.js 和 webpack.config-prod.js 这两个配置文件

  • test: /.css$/ 改为 /.(css|less)$/
  • test: /.css$/ 的 use 数组配置增加 less-loader
{
  test: /\.(css|less)$/,
  use: [
    require.resolve('style-loader'),
    {
      loader: require.resolve('css-loader'),
      options: {
        importLoaders: 1,
      },
    },
    {
      loader: require.resolve('postcss-loader'),
      options: {
        // Necessary for external CSS imports to work
        // https://github.com/facebookincubator/create-react-app/issues/2677
        ident: 'postcss',
        plugins: () => [
          require('postcss-flexbugs-fixes'),
          autoprefixer({
            browsers: [
              '>1%',
              'last 4 versions',
              'Firefox ESR',
              'not ie < 9', // React doesn't support IE8 anyway
            ],
            flexbox: 'no-2009',
          }),
        ],
      },
    },
    {
      loader: require.resolve('less-loader') // compiles Less to CSS
    }
  ],
},

重启项目,引入less就可以了。。


引用scss 不用暴露文件

create-react-app demo

需要安装 node-sass;

npm install node-sass

然后引入.scss后缀的文件就可以使用啦。

.App {
    text-align: center
}
  


如果想使用.sass的文件记得不要加{}哦

.App
  text-align: center

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值