Reactjs npm运行生成-编译失败-无法读取属性';toLowerCase';未定义的
在我的react应用程序(创建react应用程序)中使用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
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”,就是这样。幸运的是,在那个地方并不是真正的卡里。