Подтвердить что ты не робот

Что такое `rc` файлы в nodejs?

У меня есть несколько вопросов относительно различных файлов rc в типичном приложении node, например .npmrc, .babelrc и т.д.

  • Что такое rc файл, я знаю его конфигурацию runtime-config для модуля, но что-нибудь еще?
  • Должен ли rc файл следовать за соглашением об именах .[module]rc или это только рекомендуемый формат?
  • Какие поддерживаются форматы? Я видел как форматы yaml, так и json, зависит ли он от читателя от использования модуля?
  • Как получить доступ к rc файлу с точки зрения модуля? Называет ли он его как [module]rc, автоматически ли он будет доступен для модуля? Если да, то где это будет доступно?
  • Или должен ли модуль обращаться к файлу так же, как и любой другой файл из приложения, использующего модуль, и ожидать, что он будет в понятном формате? (Это то, что я делаю прямо сейчас, с json-форматом)
  • Я также видел людей, которым требуется package.json загрузить конфигурацию. Что рекомендуется, package.json или файл rc?
  • И как он отличается от файла javascript, такого как gulpfile.js, с module.exports? (Я имел в виду в смысле рекомендаций, конечно, я знаю разницу и преимущества js и rc файлов)

Каждый раз, когда я ищу в google, я заканчиваю здесь и здесь, что является инструментом для читать rc файл, но не объясняет, что это такое или как они сконструированы и/или подключены к модулю.

Любое понимание было бы действительно полезно. Благодаря

4b9b3361

Ответ 1

Итак, сначала, приятно спросив.

rc dotfiles - это файлы конфигурации, которые могут отличаться при использовании, форматировании и общем значении. Вы можете создать .[whatever name you like]rc файлы, чтобы сообщить, какой пакет вы создавали (если другой пакет не ищет тот же). Обычно они полезны для какого-то инструмента, который действует на ваш исходный код и нуждается в некоторой настройке, характерной для вашего проекта. Я понимаю, что были похожие файлы, которые играли важную роль в системах UNIX за последние годы, и идея застряла.

Короче:

  • Они не относятся к node.
  • Это еще один файл
  • Что касается форматов, они могут быть почти любыми - это просто зависит от того, что вы будете использовать для разбора и чтения. YAML, JSON и ini, вероятно, являются наиболее распространенными (по крайней мере, я видел).
  • В большинстве случаев они, похоже, следуют соглашению .[program or binary name]rc
  • package.json файлы могут содержать внешние метаданные, подходящие для конфигурации, это зависит только от того, ожидает ли ваш проект файл .rc или ожидает его в package.json (или и то, и другое, как в случае babel)

См. также:

Как невероятно простой пример:

Скажем, вы хотели прочитать этот .foorc файл, который использует кодировку JSON:

{
  "cool": true
}

Вы можете сделать что-то вроде этого:

'use strict';
const fs = require('fs');
fs.readFile('./.foorc', 'utf8', (err, data) => {
  if (err) throw new Error(err);
  console.log(JSON.parse(data));
})

Есть гораздо лучшие способы сделать это, но вы можете легко написать свой собственный или найти пакет, который будет поддерживать синтаксический анализ YAML, ini и т.д. и предоставить некоторые другие полезные биты API (например, rc)

Ответ 2

Это не относится к Node или Babel, но *rc файлы обычно являются файлами конфигурации в Unix-системах

Из Wikipedia

Конфигурационные файлы также не только изменяют настройки, но и часто (в виде "файла rc" ) запускает набор команд при запуске (для Например, "rc файл" для оболочки может указывать на изменение оболочки каталогов, запускать определенные программы, удалять или создавать файлы - многие вещи, которые не включают модификацию переменных в самой оболочке и, следовательно, не были в файлах с оболочкой). Это соглашение заимствовано из "файлов runcom" в операционной системе CTSS.

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

Соглашение о присвоении имен "rc" из "rc файлов" было вдохновлено упомянутым выше средством "runcom" и делает не означает "конфигурация ресурсов", "конфигурация времени выполнения" или "пульт дистанционного управления", как часто ошибочно догадываются.

"rc" файлы традиционно являются файлами, которые заканчиваются суффиксом "(.) rc" и которые содержат данные и информацию, которые используются в качестве конфигурации информацию для соответствующей программы. Как правило, название этого программа является первой частью имени файла rc, с "(.) rc" суффикс, используемый для указания цели файла, например. ".xinitrc", ".vimrc", ".bashrc", "xsane.rc".

И Runcom

Unix: из файлов runcom в системе CTSS 1962-63 через запуск script/etc/rc

Script файл, содержащий инструкции запуска для прикладная программа (или вся операционная система), обычно текст файл, содержащий команды сортировки, которые могли быть вызваны вручную, как только система запускается, но должна выполняться автоматически при каждом запуске системы. См. Также файл точки.

Другими словами, "rc" - это просто то, что застряло с шестидесятых годов, и довольно часто используется для файлов конфигурации в разных типах программ, поскольку, включая Node, Babel и многие другие.

Нет ничего особенного в файлах "rc", и они могут фактически содержать любые данные, никаких спецификаций и других ограничений.

Ответ 3

RC относится к

  • выполнить команды
  • конфигурация времени выполнения

Образец цитирования:

https://en.wikipedia.org/wiki/Run_command

Суффикс "rc" восходит к дедушке бабушки Unix, CTSS. У него была команда script, называемая "runcom". Рано Unixes использовали 'rc для имени операционной системы boot script, как дань гонке CTSS.