Как я могу получить npm для создания файла .min. css из s css? - PullRequest
0 голосов
/ 19 февраля 2020

Я автоматически компилирую css из s css, используя скрипт json, но он удаляет ".min" из суффикса. Это вывод терминала, который показывает скрипт, который я запускаю, и файл, который рендерится:

PS C:\Projects\myproject> npm run globalscss

> myproject@1.0.0 globalscss C:\Projects\myproject
> node-sass -w scss/usn-global.scss -o css css/usn-global.min.css --output-style compressed

=> changed: C:\Projects\myproject\scss\usn-global.scss
Rendering Complete, saving .css file...
Wrote CSS to C:\Projects\myproject\css\usn-global.css

Я ожидаю увидеть запись сценария в C: \ Projects \ myproject \ css \ usn-global.min. css

Но скрипт пишет в C: \ Projects \ myproject \ css \ usn-global. css

Есть ли проблема с двойным суффиксом?

1 Ответ

0 голосов
/ 19 февраля 2020

Пока вы используете флаг -o, --output, node-sass всегда будет компилировать входной файл в заданный выходной каталог с тем же именем файла.

Если вы опустите флаг вывода и передадите вывод вместо этого в папке можно указать нужное суффиксное имя файла.

Пример:

node-sass --output-style compressed scss/usn-global.scss > css/usn-global.min.css

Это будет работать, пока существует папка css.

Однако в соответствии с этой проблемой кажется, что невозможно объединить эту команду с флагом -w, --watch. Существуют варианты переименования файлов с помощью npm сценариев .

Если вы придерживаетесь текущего рабочего процесса без изменений, вы можете добавить еще один npm сценарий к вашему package.json файл, может быть что-то вроде этого:

"scripts": {
    "rename": "node -e \"require('fs').rename('css/usn-global.css', 'css/usn-global.min.css', function(err) { if (err) console.log(err); console.log('CSS file renamed with .min suffix!') })\""
}

... означает, что когда вы закончите CSS -ing, вам нужно будет запустить npm run rename, чтобы получить правильное имя файла.

...