Каков предпочтительный рабочий процесс для развертывания coffescript?

Должен ли я хранить файлы . Coffee в git и компилировать их на стороне сервера с помощью некоторых git-перехватчиков, или я должен хранить оба . Coffee и .js файлы в SCM и просто игнорировать кофе на сервере?

Существуют ли какие-либо недостатки для хранения скомпилированных файлов .js, кроме использования дополнительного пространства SCM? Я бы предпочел не устанавливать узел, npm и кофе на каждом сервере.

0
Ваш выбор сервера здесь важен.
добавлено автор jcollum, источник
Почему это проблема для установки узла и coffeescript на сервере?
добавлено автор robkuz, источник
Это немного субъективный вопрос, потому что системы развертывания сильно различаются, и предписание «предпочтительного рабочего процесса» потребует довольно глубоких знаний о вашей настройке. Тем не менее, проверка скомпилированных JS-файлов в исходном контроле только потому, что это удобно, является признаком того, что ваша система развертывания может быть значительно улучшена.
добавлено автор Ian Henry, источник

1 ответы

Рабочие процессы, которые я видел, предназначены для Rails и Node. Мой текущий процесс основан на них и выглядит так:

  1. Keep .coffee files in /assets/src/coffee
  2. Keep compiled .js files in /assets/js and reference them as /js/foo.js
  3. Keep .js files that are external to your app (e.g. a graphing utility) in /assets/lib
  4. Exclude /assets/js from your source control
  5. Set up your middleware to compile coffeescript files on the fly if they aren't already compiled. connect-coffee-script was the one I liked best.

Процесс в Rails очень похож, насколько я помню.

Есть ли недостатки для хранения скомпилированных файлов .js, кроме использования дополнительного пространства SCM? Я бы предпочел не устанавливать узел, npm и кофе на каждом сервере.

Я не вижу веских оснований для компиляции JS в исходное состояние - ваше промежуточное программное обеспечение должно обрабатывать превращение кофе в js. Я также не вижу недостатка в установке кофе на вашем сервере - вы должны делать обновление npm как часть своего процесса сборки, и это должно позаботиться об этом.

Вот код для его настройки:

var app = express();
  ...
srcFolder = path.join(__dirname, 'assets', 'src', 'coffee');
publicFolder = path.join(__dirname, 'assets');


app.configure(function() {
  ...
app.use(require('connect-coffee-script')({
    src:srcFolder, dest:path.join(publicFolder, 'js'), force:true
}));

Также важно отметить, что у меня были некоторые проблемы, связанные с этим в Windows 7; У наблюдателей файлов узла, похоже, есть некоторые проблемы. Поэтому я должен иметь окно с этим запуском при разработке: coffee -o ./assets/js -wc ./assets/src/coffee .

1
добавлено
JavaScript Jobs — чат
JavaScript Jobs — чат
8 336 участник(ов)

JavaScript Jobs — чат для поиска работы и людей Правила оформления: https://teletype.in/@telegram-ru/r1WQe5F1m См. также: @mobile_jobs, @devops_jobs, @nodejs_jobs, @react_js, @angular_ru, @js_ru

JavaScript.ru
JavaScript.ru
7 932 участник(ов)

Сообщество сайта JavaScript.ru в Slack.

pro.js
pro.js
4 675 участник(ов)

Про JavaScript и NodeJS Invite: https://t.me/joinchat/Be4rsT5Rsgq30DHutjxXgA Правила: http://telegra.ph/ru-chat-rules-06-19 Вакансии только с ЗП, не чаще раза в неделю.

JavaScript — русскоговорящее сообщество
JavaScript — русскоговорящее сообщество
3 269 участник(ов)

Рекомендуем сразу отключить уведомления Правила: https://rudevs.network/ByaMH6un7 См. также: @js_noobs_ru, @nodejs_ru, @typescript_ru, @react_js, @electron_ru Вакансии и поиск работы: @javascript_jobs

JavaScript Noobs — сообщество новичков
JavaScript Noobs — сообщество новичков
2 484 участник(ов)

Чат для новичков

javascript_ru
javascript_ru
915 участник(ов)

Сообщество любителей самого популярного языка программирования в мире. Чат основан в 2009 году. Логи: https://goo.gl/9EOeM7 Поддержка бота: @chat_linker (ссылка на репу внутри) Вам будут интересны @frontend_ru и @css_ru

jsChat
jsChat
603 участник(ов)

Чат посвященный программированию на языке javaScript Перед отправкой ссылки на Ваш контент посоветуйтесь с админом Все ссылки удаляются ботом автоматически

JavaScript for Zombies Chat
JavaScript for Zombies Chat
492 участник(ов)

Чат про JavaScript для настоящих zombie! Вход строго по приглашениям! Ссылка для строгих приглашений: https://t.me/joinchat/AAMBHz3Uyr0tuZ7VaB029g

All That JS
All That JS
417 участник(ов)

JS на русском