Как минимизировать css с помощью плагина накопления node-sass - PullRequest
1 голос
/ 19 февраля 2020

Я знаю, что node-sass может минимизировать css по умолчанию. Но какой вариант есть для конвейера, подобного моему, который создает js и отдельный css артефакт?

const resolve = require('rollup-plugin-node-resolve');
const babel = require('rollup-plugin-babel');
const replace = require('rollup-plugin-replace'); // use to setup project enviroment variables
const sass = require('rollup-plugin-sass');
const json = require('rollup-plugin-json');
const image = require('rollup-plugin-image');
const reactSvg = require('rollup-plugin-react-svg');
const fs = require('fs');

const babelOptions = JSON.parse(fs.readFileSync('.babelrc'));

const js = {
  input: 'src/index.js',
  output: {
    file: 'lib/index.js',
    format: 'es',
  },
  plugins: [
    json(),
    reactSvg(),
    image(),
    sass({
      output: 'lib/styles.css',
    }),
    babel({
      ...babelOptions,
      babelrc: false,
      exclude: ['node_modules/**'],
      runtimeHelpers: true,
      comments: false,
    }),
    resolve({
      jsnext: true,
      module: true,
    }),
  ],
};

export default [js];

Как видите, у меня есть только файл индекса. js в качестве входных данных и вывод, но по пути я вывожу css отдельно. Но как я могу заставить этот артефакт минимизироваться?

Или вы видите какой-либо fl aws в таком подходе?

1 Ответ

0 голосов
/ 29 марта 2020

Вы можете использовать плагин rollup-plugin-scss

import scss from 'rollup-plugin-scss';

и установить параметр минимизации, используя outputStyle: "compressed"

// rollup.config.js

export default {
  //...,
  plugins: [
    //...,
    scss({
      output: 'lib/styles.css',
      outputStyle: "compressed",
    }),
    //...,
  ],
  //...,
}

для вывода уменьшенного .css файла.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...