0

我正在遵循本指南https://docs.rollbar.com/docs/react#section-create-react-app并遇到意外行为:

内部/public/index.html

var env = '%NODE_ENV%'
console.log(1:, ('%NODE_ENV%' === 'production'))
console.log(2:, '%NODE_ENV%')
console.log(3:, env)
console.log(4:, (env === 'production'))

输出:

1: false
2: "production"
3: "production"
4: true

为什么第一个日志是false

我上线了react-scripts@2.1.8

4

1 回答 1

0

tl:博士;

var env = '%NODE_ENV%';
var _rollbarConfig = {
    enabled: (env === "production")

这个问题很奇怪。编译后的代码在 Rollbar 的文档中是这样结束的:

公共/index.html:
enabled: ("%NODE_ENV%" === "production"),

构建/index.html:
enabled: !1

!在评估前添加另一个给出了正确的答案,但很奇怪。因此,我考虑在提交之前捕获该变量env并评估该变量以进行“生产”,结果如下:

公共/index.html

var env = '%NODE_ENV%';
var _rollbarConfig = {
    enabled: (env === "production")

构建/index.html

var env = "production";
var _rollbarConfig = {
    enabled: env === "production"

它现在可以正确评估,并且更适合将来的维护。

于 2019-09-14T02:08:11.830 回答