nodejs中的`rc`文件是什么?

Gop*_*a S 61 javascript configuration package node.js runtime-configuration

我有一个关于不同的一些问题rc在一个典型的节点申请文件,如.npmrc,.babelrc等.

  • 什么是rc文件,我知道它是模块的运行时配置,但还有什么?
  • rc文件是否必须遵循.[module]rc命名约定或者它只是推荐的格式?
  • 支持的格式是什么?我看过yaml和json两种格式,它取决于模块使用的读者吗?
  • 如何从模块的角度访问rc文件?将它命名为[module]rc会使模块自动可用吗?如果可以的话它会在哪里?
  • 或者模块是否应该像使用该模块的应用程序中的任何其他文件一样访问该文件并期望它是可理解的格式?(这就是我现在正在做的,用json格式)
  • 我也看到有人要求package.json加载配置.推荐哪个,package.json还是rc文件?
  • 它与javascript文件gulpfile.jsmodule.exports什么不同?(我的意思是推荐,当然我知道js和rc文件的区别和优点)

每次我在谷歌搜索时,我都会在这里这里结束,这是一个读取rc文件的工具,但不解释它们是什么或它们是如何构建和/或连接到模块的.

任何见解都会非常有用.谢谢

mar*_*mas 38

首先,很好问.

rcdotfiles是配置文件,其使用,格式和整体含义可能不同.您可以创建.[whatever name you like]rc文件以通知您正在创建的任何包(如果另一个包不寻找相同的包).通常,它们对某些作用源代码的工具很有用,并且需要针对您的项目进行一些调整.我的理解是,在过去几年中,有类似的文件在UNIX系统中发挥了重要作用,并且这个想法已经陷入困境.

简而言之:

  • 它们不是特定于节点的.
  • 他们只是另一个档案
  • 就格式而言,它们几乎可以是任何东西 - 它只取决于你将用什么来解析和阅读它们.YAML,JSON和ini可能是最常见的(至少我见过).
  • 在大多数情况下,他们似乎遵循惯例 .[program or binary name]rc
  • package.json文件可以包含适用于配置的外部元数据,它只取决于您的项目是否期望.rc文件或期望它package.json(或两者,如babel的情况)

也可以看看:

作为一个非常简单的例子:

假设您要阅读.foorc使用JSON编码的此文件:

{
  "cool": true
}
Run Code Online (Sandbox Code Playgroud)

你可以这样做:

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

有更好的方法可以做到这一点,但你可以轻松编写自己的或者找到一个支持YAML,ini等的包,解析并提供API的其他一些优点(例如,rc)


ade*_*neo 16

它不是Node或Babel特有的,但*rc文件通常是Unix系统中的配置文件

来自维基百科

配置文件不仅仅是修改设置,它们通常(以"rc文件"的形式)在启动时运行一组命令(例如,shell 的"rc文件"可能指示shell更改目录,运行某些程序,删除或创建文件 - 许多不涉及在shell本身修改变量的东西,因此不在shell的dotfiles中.此约定借用于CTSS操作系统上的"runco​​m文件".

对于用解释 语言 编写的程序,可以并且已经扩展了该功能,使得配置文件实际上是另一个程序重写或扩展或定制原始程序 ; Emacs是最突出的例子.

该"RC"命名约定 "RC文件",通过上文提到的"runco​​m"设施鼓舞,并不代表 "资源配置", "运行时配置",或 "遥控器"因为经常猜错.

"rc"文件传统上是以"(.)rc"后缀结尾的文件,其中包含用作相关程序的配置信息的数据和信息.通常,该程序的名称是rc文件名称的第一部分,"(.)rc" 后缀用于表示文件的用途,例如".xinitrc", ".vimrc",".bashrc"," xsane.rc".

Runcom

Unix:来自CTSS系统1962-63上的runco​​m文件,通过启动脚本/ etc/rc

脚本文件,包含应用程序(或整个操作系统)的启动指令,通常是一个文本文件,其中包含可能在系统运行后手动调用但在每次系统启动时自动执行的排序命令.另请参见点文件.

换句话说,"rc"只是在六十年代停留的东西,并且经常被用于不同类型程序中的配置文件,包括Node,Babel和许多其他程序.

"rc"文件没有什么特别之处,它们几乎可以包含任何类型的数据,没有规范或其他限制.


rse*_*esh 7

RC是指

  • 运行命令
  • 运行时配置

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

'rc' 后缀可以追溯到 Unix 的祖父 CTSS。它有一个名为“runco​​m”的命令脚本功能。早期的 Unix 使用 'rc' 作为操作系统启动脚本的名称,作为对 CTSS runco​​m 的致敬。