як спостерігати за змінами у цілому каталозі / папці, що містить безліч файлів sass - -


77

Як я можу простежити зміни у всьому каталозі, що містить безліч файлів sass? Я використовую наступну команду для перегляду змін у sass

файл:

sass --watch style.scss:style.css

Але як спостерігати за змінами у цілому каталозі / папці, що містить безліч файлів sass.


5
Чи допомогла вам якась із відповідей тут?
TheCarver

Відповіді:


95

Просто використовуйте команду sass --watch <input folder>:<output folder>, наприклад:

$ ls -l
css/ sass/
$ sass --watch sass:css

Де <input folder>містить файли Sass і на <output folder>яких розміщені створені файли CSS.


Якби я мав sassпапку з 20 підкаталогами та загальною кількістю 200 scssфайлів, який вплив sass --watchу цьому випадку матиме на ресурси процесора / пам'яті?
WM

@piouPioum, я спробував команду, про яку ти згадав, вона виявляє зміни, але не пише.
Vivek

Там сказано Не вдалося знайти варіант із назвою "годинник". . Я не знаю, що робити, я не можу повірити, що не можу запустити спостерігача, не встановивши зовнішні програми або не використовуючи програму запуску завдань
Крістіан Трайна

29

Трохи розширивши відповідь piouPiouM:

  • Вихідні файли будуть створені з тими самими іменами, що і вхідні файли, за винятком того, що закінчуються на .css.
  • <input folder>і <output folder>може бути однаковим.
  • Обидві папки можуть бути справжньою робочою директорією, тому діє наступне:

    $ sass --watch .:.


11

Зайдіть у ваш термінал і перейдіть до папки, після чого написали:

 sass --watch .

це буде переглядати всі файли sass і конвертувати в файли css з тим самим іменем. також ви можете зробити це таким чином:

sass --watch ~/user/youUser/workspace/project/styles/

Сподіваюся, це може вам допомогти.


10

У підсумку я зробив це, не використовуючи Grunt або Sass-watch:

npm install -g watch
watch "sass assets/app.scss assets/dist/app.css" assets/css

1
Ви встановлюєте sass у свій робочий веб-каталог? Якщо його встановлено на системному рівні, чи потрібно мені вводити весь шлях? Отже ...sass --watch /Users/estout/Documents/GIT/project/:/Users/estout/Documents/GIT/project/
erwstout

@buschschwick: Так, ви встановлюєте його на системному рівні. Ви або вводите повну адресу щоразу, як у вас є, або трохи простіше було б змінити каталог, cd /Users/estout/Documents/GIT/project/а потім написати$ sass --watch .:.
TheCarver

5

якщо ви перебуваєте у поточній папці, виконайте наступне, щоб переглянути її.

F:\sass tutorial>sass --watch ./:./

3

Тільки в разі , якщо хто - то особа з цим питанням в 2018 році:
зухвалість Сайт відноситься до Ruby , Sass , який був застарілим . і як і зараз (травень 2018 р.), якщо ви встановлюєте dart sass через npm , він не підтримує --watchкоманду

Що робити:
потрібно встановити node-sassглобально, наприклад:

npm install node-sass -g

а потім перезапустіть командний рядок, а потім використовуйте цей код:

node-sass --watch scss/styles.scss css/styles.css

для компіляції ваших файлів scass у css.
в основному node-sass підтримує --watchкоманду, і ми використовуємо її для компіляції наших кодів scss до звичайних файлів css.

і лише на випадок, коли ви вперше збережете файл .scss, отримавши таку помилку:

{
  "status": 3,
  "message": "File to read not found or unreadable: yourdirectory/scss/styles.scss",
  "formatted": "Internal Error: File to read not found or unreadable: yourdirectory/scss/styles.scss\n"
}

що вам потрібно зробити, це зберегти його знову, він буде працювати правильно!


2

Ви можете створити один файл sass, який включає решту файлів, а потім просто переглянути цей файл.

Крім того, загляньте у Grunt та дуже хороший плагін grunt-contrib-compass


@matsko так, це справді те, що grunt watchробить
kumarharsh

Я в кінцевому підсумку робить це: stackoverflow.com/questions/18427849 / ...
Мацко

Ви не хочете один файл SASS для мого поточного проекту. Це погана пропозиція / відповідь. Набагато простіше - попросити SASS переглядати каталог, який інші зазначили у своїх відповідях.
TheCarver

2
Можливо, вам знадобиться один головний файл SASS для проекту, який включає всі дочірні файли SASS (подивіться, як це робить bootstrap). Існує також основна помилка з поточною прийнятою відповіддю, що вона компілює всі файли sass і виводить по одному файлу css для кожного файлу sass (часткові дані виключаються). Це може бути не те, що ти хочеш.
kumarharsh


1

Ви можете встановити sass для перегляду всіх файлів .scss (у моєму випадку я отримав кілька файлів .scss у папці src / static) для компіляції, але перед тим, як встановити його глобально:

npm i -g sass

потім перейдіть до папки проекту та введіть команду нижче:

sass --watch $(pwd)/src/static 

також ви можете обернути його в скрипт npm у package.json, наприклад

 "scripts": {
    "sass:watch": "sass --watch $(pwd)/src/static"
    }
    

і запустіть його за допомогою цієї команди:

npm run sass:watch
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.