Ответы пользователя по тегу Node.js
  • Как node/create-react-app подключает пакет npm sass?

    daniel_pr
    @daniel_pr
    Мне этого не нужно было делать, потому что я использовал create-react-app, в конфиге вебпака которого уже произведена настройка sass?

    Да.

    Если п1 верный, то как в таком случае это реализовано? Я ведь мог установить не sass, а node-sass или dart-sass или любую другую библиотеку?

    Примерно так:

    const fs = require("fs");
    
    function modulesHasOneOf(moduleNames) {
      return moduleNames.some(name => {
        const modulePath = require.resolve(name);
        return fs.existsSync(modulePath);
      });
    }
    
    const isSassInstalled = modulesHasOneOf(["sass", "dart-sass", "node-sass"]);
    
    const webpackConfig = {
      ...
      module: {
        rules: [
          {
             test: isSassInstalled ? /\.scss$/ : /\.css$/,
             use: ["css-loader", isSassInstalled && "sass-loader"].filter(Boolean)
          }
        ]
      }
    };


    UPD:
    Все оказалось проще:

    const config = {
        module: {
          rules: [
            {
              test: /\.css$/,
              use: ["css-loader"]
            },
            {
              test: /\.s(a|c)ss$/,
              use: ["css-loader", "sass-loader"]
            }
          ]
        }
      };

    И уже в зависимости от расширения файла выбирает то или иное правило. Главное, да, просто поставить пакет (dart-,node-)sass.

    https://github.com/facebook/create-react-app/blob/...
    Ответ написан
    4 комментария
  • Почему файл картинки .webp не сжался?

    daniel_pr
    @daniel_pr
    Чем меньше изображение, тем меньше сжатие. Протестируейте на изображениях с бОльшим размером и увидите, что размер сократился в 3-4 раза.
    Ответ написан
    Комментировать