当使用npm run build在我的反应程序(创建反应的-APP),它不能编译,给我的消息Cannot read property 'toLowerCase' of undefined。
我没有toLowerCase在我的应用程序中使用,并认为唯一使用它的地方是在脚本中:node_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')));
}
Run Code Online (Sandbox Code Playgroud)
对我来说似乎很奇怪的是,即使在那里,它也不应该给我,Cannot read property 'toLowerCase' of undefined因为如果processe.env.CI未定义,它应该将第一个条件语句读取为 false-y 甚至不读取 processe.env.CI.toLowerCase。我也试过删除这整段代码,但我得到了同样的错误。我有另一个 react-app 并且npm run build命令工作得很好,所以我真的很想知道我应该在哪里寻找答案。
好的,这很奇怪,但这是我的问题:
.collage{
margin: ;
display: flex;
flex-wrap:wrap;
justify-content: space-between;
align-items: stretch;}
Run Code Online (Sandbox Code Playgroud)
我的保证金值有一个错字,这个简单的错误是什么阻止了我的事情并给了我一个toLowerCase问题!!!!
我万万没想到!
我没有在我的应用程序中使用 toLowerCase
嗯,你在调用 build.js 时显然是这样。
无论哪种方式,在 if() 语句中,每个单独的语句都将被测试。如果说第一个失败,它就不会“爆发”。由于您尚未设置环境属性“CI”,因此该 if 语句将始终失败,因为 process.env.CI 将始终为未定义/空。.toLowerCase() 是一种不适用于空值的方法。
| 归档时间: |
|
| 查看次数: |
1984 次 |
| 最近记录: |