提问者:小点点

npm运行构建-编译失败-无法读取未定义的属性'toLowerCase'


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

我没有在我的应用程序中使用toLowerCase,我想唯一使用它的地方就是脚本:node\u模块/react脚本/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”,因为如果处理。环境。CI未定义,它应该将第一个条件语句读取为false-y,而不是读取processe。环境。CI。toLowerCase。我也尝试过删除这整段代码,我得到了同样的错误。我有另一个react应用程序,npm run build命令运行得很好,所以我真的不知道应该在哪里找到答案。


共3个答案

匿名用户

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

.collage{
margin: ;
display: flex;
flex-wrap:wrap;
justify-content: space-between;
align-items: stretch;}

我的边距值有一个输入错误,这个简单的错误就是阻止了wole的事情,并给了我一个toLowerCase问题!!!!

我永远也猜不到!

匿名用户

我有同样的问题,因为“重要”在边框宽度:

&.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

所以我找到了一份确切的文件

匿名用户

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

显然你打电话给build.js.

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