Reactjs npm运行生成-编译失败-无法读取属性';toLowerCase';未定义的

Reactjs npm运行生成-编译失败-无法读取属性';toLowerCase';未定义的,reactjs,npm,build,Reactjs,Npm,Build,在我的react应用程序(创建react应用程序)中使用npm运行构建时, 它无法编译,并向我发送消息无法读取未定义的的属性“toLowerCase” 我没有在我的应用程序中使用toLowerCase,我认为唯一使用它的地方是在脚本中:node\u modules/react scripts/scripts/build.js在这段代码中: if ( process.env.CI && (typeof process.env.CI !== 'string' || p

在我的react应用程序(创建react应用程序)中使用
npm运行构建时,
它无法编译,并向我发送消息
无法读取未定义的
的属性“toLowerCase”

我没有在我的应用程序中使用
toLowerCase
,我认为唯一使用它的地方是在脚本中:
node\u modules/react scripts/scripts/build.js
在这段代码中:

if (
  process.env.CI &&
  (typeof process.env.CI !== 'string' ||
    process.env.CI.toLowerCase() !== 'false') &&
  messages.warnings.length
) {
  console.log(
    chalk.yellow(
      '\nTreating warnings as errors because process.env.CI = true.\n' +
      'Most CI servers set it automatically.\n'
    )
  );
  return reject(new Error(messages.warnings.join('\n\n')));
}
我觉得奇怪的是,即使在那里,它也不应该给我
无法读取未定义的
的属性“toLowerCase”,因为如果
processe.env.CI
未定义,它应该将第一个条件语句读取为false-y,甚至不读取
processe.env.CI.toLowerCase
。 我也尝试过删除这整段代码,我得到了同样的错误。 我有另一个react应用程序,
npm run build
命令运行得很好,所以我真的不知道应该在哪里找到答案

我的应用程序中没有使用toLowerCase

在调用build.js时,显然是这样

无论如何,在if()语句中,每个单独的语句都将被测试。如果说第一个失败,它就不会“爆发”。 由于您尚未设置环境属性“CI”,因此此if语句将始终失败,因为process.env.CI将始终是未定义的/null。 .toLowerCase()是一个不适用于null的方法。

好, 这很奇怪,但我的问题是:

.collage{
margin: ;
display: flex;
flex-wrap:wrap;
justify-content: space-between;
align-items: stretch;}
我的边距值有一个输入错误,这个简单的错误就是阻止了wole的事情,并给了我一个
toLowerCase
问题


我永远也猜不到

我与
有相同的问题原因!重要信息
用于变量未定义的地方


    .form-checkbox,
    .form-radio {

        input {

            &:checked {
                background-color: color-bg(check-checked-inverse) !important;
                border-color: color-bg(check-checked-inverse) !important;
            }
        }
    }
可以通过以下方式进行修复:


    .form-checkbox,
    .form-radio {

        input {

            &:checked {
                background-color: color-bg(check-checked-inverse);
                border-color: color-bg(check-checked-inverse);
            }
        }
    }

或者通过设置变量
check checked inverse

我也遇到了同样的问题,因为边框宽度处有“重要的”

&.checkbox-accent {
    > span {
        border-width: get($checkbox-config, types, accent, borderWidth) !important;
        border-style: solid !important;
        background-color: transparent !important;

        &:after {
            display: block;
        }
    }
}
在我的情况下,错误消息是:

Cannot read property 'toLowerCase' of undefined
CompileError: Begins at CSS selector .checkbox.checkbox-accent>span

因此,我能够找到一个精确的文件&行

是的,如果第一个文件失败,它将“中断”。如果未设置
CI
process.env.CI
将是
未定义的
,其他的将不会被检查。这很公平。也许是我更习惯于Java。对不起,很有趣。这是您整个项目中唯一出现的
toLowerCase
?是的!奇怪的是,我没有更改这个build.js文件,因为它是用createreact应用程序构建的。我以前也用过它,在部署我的应用程序时,它从来没有出现过问题,你是如何发现这个bug的;你在日志中看到什么了吗?那你的修复方法是什么?我删除了“!important”,就是这样。幸运的是,在那个地方并不是真正的卡里。