react配置sass全局变量(不需要eject暴露环境)

1.安装3个模块:

cnpm install    react-app-rewired    customize-cra    sass-resources-loader  --save-dev

2.在package.json的同级目录中新建一个config-overrides.js文件

const { override, adjustStyleLoaders } = require("customize-cra");
module.exports = override(
     // fixBabelImports('import', {
    //     libraryName: 'antd', libraryDirectory: 'es', style: 'css'
    // }),
    // ...其他配置...
    adjustStyleLoaders(rule => {
        if (rule.test.toString().includes("scss")) {
            rule.use.push({
                loader: require.resolve("sass-resources-loader"),
                options: {
                    resources: "./src/styles/main.scss" //这里是你自己放公共scss变量的路径
                }
            });
        }
    })
    // ...其他配置...
);

在package.json文件中,将 "scripts"修改为

   "scripts": {
    "build-css": "node-sass-chokidar src/ -o src/",
    "watch-css": "npm run build-css && node-sass-chokidar src/ -o src/ --watch --recursive",
    "start-js": "node scripts/start.js",
    "start": "react-app-rewired start",
    "build": "react-app-rewired build",
    "test": "react-app-rewired test",
    "eject": "react-app-rewired eject"
  },

这样就可以在全局使用自定义的变量了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值