在两个实例上用const options = {
valueNames: ['name', 'id', 'category', 'cost'],
};
let productList = new List('low-turnover', options);
启动我的react应用时,存在一些特殊情况。
对于一个实例,我看到error boundary overlay screen,而对于其他实例,无论何时发生任何运行时异常,我都看不到错误边界屏幕,尽管两个实例都具有相同的代码库并以react-script start
开头。我要以react-scripts start
开头两个实例,因为我希望它们都运行开发模式。
我设置NODE_ENV = development并在app.js中验证react-scripts start
开始设置为process.env.NODE_ENV
。在运行时异常时,我仍然看不到实例之一的错误覆盖屏幕。该错误明确记录在控制台中。但是对于一个实例,我得到了错误覆盖屏幕,而对于另一实例却没有。
根据下面他的回答development
,似乎检查Tyro
会表明该应用程序是按生产还是开发模式运行。但是,在我的情况下,虽然将NODE_ENV
检查为设置为NODE_ENV
,但是行为类似于development
模式,因为尽管错误日志没有出现在运行时异常中,但已记录到控制台
问题:
1)检查NODE_ENV会显示变量值,但是我们如何知道该应用程序是否确实在NODE_ENV指示的环境中运行?
2)在我的情况下,即使检查的NODE_ENV的值为“开发中”,该应用程序仍处于生产模式,因为尽管错误已记录到控制台,但错误边界覆盖屏幕没有出现。是否有其他情况即使在production
模式下也不会出现错误边界叠加屏幕?
答案 0 :(得分:-1)
我不确定您是否可以通过这种方式检查CRA应用程序使用的NODE_ENV
变量。您无法通过发出echo $NODE_ENV
在您的机器(泊坞窗)中进行检查。
react-scripts start
命令(如果您要使用它来运行应用): "scripts": {
"start": "NODE_ENV=development react-scripts start",
...
要在App.js
条目文件中检查=,只需添加console.log('env is:', process.env.NODE_ENV)
,启动应用程序,在浏览器中打开并显示console
,您应该看到的输出您的日志。
或window.MyEnv = process.env.NODE_ENV
,打开相同的控制台调试器,并检查window.MyEnv
的值。
希望这会有所帮助!