У нас есть много небольших веб-сайтов. Обычно мы размещаем их на серверах Digital Ocean за 5–10 долларов.
Частью нашего развертывания является компиляция Sass в CSS с использованием node-sass.
На нашем последнем сервере мы наблюдаем значительное увеличение времени компиляции библиотеки node-sass (а не самих файлов scss). Речь идет о 8-10 минутах, тогда как в других проектах требуется 30-100 секунд.
Мы используем node 8.11.1 (новейший LTS) и yarn 1.6.0 (новейший) с node-sass 4.8.3 (новейший) в Ubuntu 16.04.4.
Есть ли способ кэшировать компиляцию между развертываниями? Или кто-нибудь знает, почему на компиляцию node-sass уходит так много времени?
Это запускается установкой пряжи - да, node_modules устанавливаются заново при каждом развертывании.
Почему не yarn install —production, чтобы вам не приходилось каждый раз устанавливать зависимости? Как команда запускается? У вас есть набор для развертывания или это вручную?
На самом деле он действительно запускается с помощью флага производства. У нас есть сценарий развертывания: создать папку, извлечь из git, установить зависимости, запустить сценарии сборки, переключить папки - выпущено.
Возможно, вы могли бы создать какой-нибудь подробный вывод журнала, чтобы вы могли посмотреть, какой процесс занимает так много времени. Я столкнулся с установками npm с виртуальным хостом, который требовал слишком много для установки. Я решил, что установил все пакеты узлов как root, поэтому пользователь виртуального хоста использовал только желаемый метод и никогда не должен был устанавливать пакеты узлов.
Компиляция node-sass занимает так много времени, в пряже указано: node-sass: g ++ '-DNODE_GYP_MODULE_NAME = libsass' '-DUSING_UV_SHARED = 1' '-DUSING_V8_SHARED = 1' '-DV8_DEPRECATION_WARNINGS_LARNINGS = 1' '-DEFI и so на
Есть ли импорт с использованием url в ваших файлах sass?





Если вы используете поддерживаемую комбинацию ОС и узла (см. Страницу выпуска в GH для вашей версии node-sass), предварительно созданный двоичный файл должен быть загружен для вас.
Если кто-то найдет это через поисковик:
Мы не нашли решения проблемы. Мы увеличили и уменьшили размер капли до исходного размера, и проблема исчезла.
npm install
yarn имеет некоторые проблемы с кешированием (может быть на вашем ПК или в CDN). Это может привести к значительному увеличению времени, если на вашем ПК есть несколько версий узлов (например, nvm). В моем случае установка зависимостей с npm сработала: 40 секунд, по сравнению с 5+ минутами с пряжей (я не ждал до конца)
Как запускается компиляция? Кешируются ли node_modules или должны устанавливаться каждый раз?