create-react-app 在不暴露配置情况下 配置 scss/sass 全局变量
2020-07-19 04:27
2723 查看
create-react-app 在不暴露配置情况下 配置 scss/sass 全局变量
create-react-app 利用 react-app-rewired 在不暴露配置,不破坏环境的 情况下 配置 scss/sass 全局变量。
由于项目中需要定义全局主题的样式变量,也就是利用
sass-resources-loader这个loader将scss变量打包到每个文件中,但是由于 create-react-app(以下简称cra)暴露配置会破坏
"guarantees"的优点。
所以当时就打算用上
react-app-rewired这个插件,但是用上之后直接配置loader 还需要单独根据当前环境配置(如生产环境的css需要单独打包成,而不是放在style中)。
所以又找的一个
customize-cra的插件,看他的文档的话有一个 addWebpackModuleRule 的函数但是用了之后好像还是会对环境造成问题,所以放弃了这个方法。
之后看到了一个 adjustStyleLoaders的函数 可以查看所有loader,我灵机一动 可不可以直接把
sass-resources-loader直接添加到原来的loader呢,完美。
贴以下我的代码
config-overrides.js
module.exports = override( // ...其他配置... adjustStyleLoaders(rule => { if (rule.test.toString().includes('scss')) { rule.use.push({ loader: require.resolve('sass-resources-loader'), options: { resources: './src/assets/css/theme.scss' } }); } }) // ...其他配置... )
相关文章推荐
- create-react-app 在run eject后对antd和sass的配置
- 在create-react-app创建的React项目应用中配置JQ、Sass
- create-react-app不暴露配置设置proxy代理
- 脚手架(create-react-app)没有eject情况下,使用react-scripts的时候,动态设置环境变量...
- Create-react-app+Antd+Less 在项目yarn eject 的情况下进行配置
- create-react-app React脚手架 引入 scss 配置
- react引用scss全局的变量 react scss-load 配置一个全局变量文件
- create-react-app脚手架创建react项目,暴露webpack配置文件,如何引入less支持+antd按需加载+自定义主题...
- create-react-app脚手架中配置sass
- vue-cli3.0 中使用预处理器 (Sass/Less/Stylus) 配置全局变量
- 如何扩展 Create React App 的 Webpack 配置
- create-react-app脚手架中配置webpack的方法
- (Create React App)拒绝使用eject,自定义webpack配置
- 基于create-react-app的再配置
- react-create-app新版配置webpack.config.js
- create-react-app项目添加less配置
- create-react-app脚手架基本配置讲解
- react v16 create-react-app+sass
- create-react-app + antd-mobile配置
- ant-design在create-react-app中配置按需加载组件