Итак, вот ситуация.В настоящее время у меня есть проект со следующей структурой папок:
-- public_html
-- assets
-- scss (contains SCSS files, which can be located inside subfolders)
-- scripts
-- vendor
-- plugins (Also contain some SCSS files from the)
-- css
-- also some other folders (no scss or css here though)
-- dist (distribution folder)
-- other folders too for html, php etc...
Когда я хочу загрузить скрипт на свой удаленный сервер, я сначала обрабатываю полную структуру папок в public_html
в dist
.Я делаю это с помощью сценария сборки, build.sh
, который вы можете увидеть здесь:
function prepareForBuild(){
echo "Updating dependencies...";
bower install
echo "Preparing 'dist' directory...";
mkdir -p dist
rm -rf dist/*
# for the stackoverflow markup... */
}
function buildApp(){
cd assets
echo "Creating temp directory..."
mkDir -p temp
## MERGING TAKES (OR SHOULD) PLACE HERE
find "/" -name '*.scss' -exec cat {} \; > merge.scss
cd ../
pause
# requirejs optimization
echo "Optimizing files...";
node r.js -o build/build.js
}
function cleanup(){
echo "Cleaning up unnecessary files...";
cd dist
rm -f bower.json .gitignore .bowerrc README.md .DS_Store config.rb
rm -f build.sh build.txt composer.json composer.lock
rm -rf build dist scss .git .sass-cache .idea
}
function pause(){
read -p "$*"
}
prepareForBuild
buildApp && cleanup
echo "Building finished!";
Проблема:
Однако, когда я запускаюСценарий в терминале Git bash прерывается в этой строке:
find "/" -name '*.scss' -exec cat {} \; > merge.scss
Редактировать: «/» или «\», похоже, не влияет на проблему :(
Кроме того, запустите от root (public_html)каталог:
, где он возвращается в обычной командной строке «Файл не найден - * .scss» (и выводит пустой файл merge.scss) и просто перестает работать вGit Bash Terminal. Я основал эту строку на этом ответе, но я не могу заставить его работать на меня. Я также попробовал что-то вроде this , но это только возвращает больше ошибок.Что мне здесь не хватает?
РЕДАКТИРОВАТЬ!
Я думал, что оболочка bash просто перестала работать, но кажется, что это не так. Через некоторое время она возвращает это: Что это значит? Справочная папка неверна?
Цель:
As said Я хотел бы рекурсивно сканировать папку активов на наличие .scss
файлов и объединить их в один default.scss
.
Если это слишком много, попросить другое решение, интегрированное с require.js
(или просто с узлом)было бы также возможно, как вы можете видеть в моем сценарии, я уже использую require.js
для стандартной оптимизации.
Спасибо за ваше время и терпение!