Reactjs 我应该在哪里为React组件库添加配置文件

Reactjs 我应该在哪里为React组件库添加配置文件,reactjs,npm,Reactjs,Npm,我正在编写一个React组件库,我想发布到npm 使用该库需要几个配置 我应该建议用户创建一个.env文件,还是使用上下文API将数据传递给应用程序,还是有一个完全独立的选项我没有考虑 现在我只有一个名为RegistrationDetails.js的文件 domain: '', // Example: images.mysite.com ssl: true, // HTTPS or HTTP }; export default RegistrationDetails; 我把它导入到主

我正在编写一个React组件库,我想发布到npm

使用该库需要几个配置

我应该建议用户创建一个.env文件,还是使用上下文API将数据传递给应用程序,还是有一个完全独立的选项我没有考虑

现在我只有一个名为RegistrationDetails.js的文件

  domain: '', // Example: images.mysite.com
  ssl: true, // HTTPS or HTTP
};

export default RegistrationDetails;
我把它导入到主组件中。我不希望用户必须进入node_模块才能更新此配置文件

这就是我使用配置的方式

  const { domain } = RegistrationDetails;
  const secure = RegistrationDetails.ssl ? 'https://' : 'http://';
  const imgSrc = buildUrl(src, options);

  const renderUrl = secure + domain + imgSrc;

我建议您使用
.env
文件。

警告:不要在React应用程序中存储任何机密(如私有API密钥)

环境变量嵌入到构建中,这意味着任何人都可以通过检查应用程序的文件来查看它们

拥有
.env
文件的好处是,您不必导入任何内容。即使在
HTML
文件中,
.env
文件中的变量也可用于应用程序

.env
文件中的变量是
常量
,因此命名约定为
大写

在项目目录的根目录中创建一个
.env
文件,

您必须创建以
REACT\u APP\u
开头的自定义环境变量。
create react app
工具使用
react\u app
来识别这些变量

REACT_APP_DOMAIN = //Domain_Name 
REACT_APP_SSL = true
这些环境变量将在
process.env
上为您定义。例如,名为
REACT\u APP\u SSL
的环境变量将作为
process.env.REACT\u APP\u SSL
在JS中公开

const secure = process.env.REACT_APP_SSL ? 'https://' : 'http://';
您还可以在
public/index.html

<title>%REACT_APP_DOMAIN%</title>
%REACT\u APP\u DOMAIN%
最后,
.env
文件添加到您的
.gitignore
文件中,以便
Git
忽略它,并且它不会推到
GitHub

注意:更改
.env
文件后,需要重新启动开发服务器


我建议您使用
.env
文件。

警告:不要在React应用程序中存储任何机密(如私有API密钥)

环境变量嵌入到构建中,这意味着任何人都可以通过检查应用程序的文件来查看它们

拥有
.env
文件的好处是,您不必导入任何内容。即使在
HTML
文件中,
.env
文件中的变量也可用于应用程序

.env
文件中的变量是
常量
,因此命名约定为
大写

在项目目录的根目录中创建一个
.env
文件,

您必须创建以
REACT\u APP\u
开头的自定义环境变量。
create react app
工具使用
react\u app
来识别这些变量

REACT_APP_DOMAIN = //Domain_Name 
REACT_APP_SSL = true
这些环境变量将在
process.env
上为您定义。例如,名为
REACT\u APP\u SSL
的环境变量将作为
process.env.REACT\u APP\u SSL
在JS中公开

const secure = process.env.REACT_APP_SSL ? 'https://' : 'http://';
您还可以在
public/index.html

<title>%REACT_APP_DOMAIN%</title>
%REACT\u APP\u DOMAIN%
最后,
.env
文件添加到您的
.gitignore
文件中,以便
Git
忽略它,并且它不会推到
GitHub

注意:更改
.env
文件后,需要重新启动开发服务器


感谢您详细解释我为什么要使用.env文件。我想这就是我将要采用的方法。感谢您详细解释我为什么要使用.env文件。我想这就是我要采用的方法。