Как я могу перекомпилировать LESS вручную в responsejs? - PullRequest
0 голосов
/ 27 июня 2018

У меня есть проект ReactJs, который использует Webpack и Redux. Я использую меньше для моих таблиц стилей. В этом проекте у меня есть файл colors.less, который выглядит так -

//colors.less
@color1: red;
....

Этот файл импортируется для всех тех файлов, которые используют эту переменную. Я хочу изменить эту переменную @ color1 в соответствии с некоторыми данными API, и тогда таблицы стилей должны обновиться с новым цветом. У меня есть доступ к этой переменной в моем файле JS, но при изменении этого цвета я хочу перезагрузить таблицы стилей.

Доступ к переменной, как показано ниже -

//utils/less-var-loader.js
const lessToJs = require('less-vars-to-js')

module.exports = function(content) {
    return `module.exports = ${JSON.stringify(lessToJs(content))}`
}

//some.js which wants to modify the color
import * as styles from '!!../utils/less-var-loader!./common/colors.less'
styles['@color1'] = blue;

1 Ответ

0 голосов
/ 27 июня 2018

Сначала добавьте следующие зависимости для веб-пакета.

Добавьте меньше зависимостей

webpack.config.js

,{
  test: /\.less$/,
  loaders: ['style', 'css', 'less']
}

Требуйте его в вашей точке входа.

...