node-sass - Как использовать значение подстановочного каталога в выходном пути - PullRequest
0 голосов
/ 16 октября 2018

Есть ли способ для node-sass использовать переменную в выходном пути?Я пытаюсь сделать что-то вроде следующего:

node-sass blocks/**/editor.scss -o dist/$1-editor.css

Цель состоит в том, чтобы префикс выхода со значением его родительского каталога.Например, структура каталогов:

blocks
├── foo
│   ├── editor.scss
├── bar
│   ├── editor.scss
└── baz
    └── editor.scss

приведет к следующим скомпилированным именам файлов CSS:

dist
├── foo-editor.css
├── bar-editor.css
└── baz-editor.css

В настоящее время приведенная выше команда выводит:

dist
└── -editor.css

Префикс $1 игнорируется.

1 Ответ

0 голосов
/ 16 октября 2018

По крайней мере, это можно сделать в узле.

const fs = require("fs");
const sass = require("node-sass");

fs.readdirSync("blocks").forEach(dir => {
  sass.render(
    {
      file: `blocks/${dir}/editor.scss`,
      outFile: `dist/${dir}-editor.css`
    },
    (error, result) => {
      if (!error) {
        fs.writeFile(`dist/${dir}-editor.css`, result.css, error => {
          if (error) {
            console.log(err);
          } else {
            console.log(`dist/${dir}-editor.css`);
          }
        });
      }
    }
  );
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...