如何在create-react-app中减少使用变量

时间:2018-10-30 00:19:52

标签: reactjs less create-react-app

我正在将create-react-app与react-app-rewire-lessreact-app-rewired

一起使用

全新安装后,发现无法正常运行的情况更少。

使用className="header"可以正常使用,但是className={styles.header}无效。

这是我的config-overrides.js

const rewireLess = require('react-app-rewire-less');

module.exports = function override(config, env) {

config = rewireLess.withLoaderOptions({
       javascriptEnabled: true
   })(config, env);
   return config;
};

这是我的App.js,只需将import './App.css';更改为import styles from './App.less';,然后将styles.header用作标题样式

import React, { Component } from 'react';
import logo from './logo.svg';
import styles from './App.less';

class App extends Component {
  render() {
    return (
      <div className="App">
        <header className={styles.header}>
          <img src={logo} className="App-logo" alt="logo" />
          <p>
            Edit <code>src/App.js</code> and save to reload.
          </p>
          <a
            className="App-link"
            href="https://reactjs.org"
            target="_blank"
            rel="noopener noreferrer"
          >
            Learn React
          </a>
        </header>
      </div>
    );
  }
}

export default App;

还将App.css更改为“ App.less”,将App-header更改为header,并将react-script

1 个答案:

答案 0 :(得分:0)

是的,这是较少的模块问题。 只是npm install --save-dev react-app-rewire-less-modules

将您的**.less文件更改为**.module.less

更改您的配置文件

const rewireLess = require("react-app-rewire-less-modules");
module.exports = function override(config, env) {
  config = rewireLess.withLoaderOptions({
    javascriptEnabled: true,
  })(config, env);
  return config;
};