【发布时间】:2019-08-08 06:50:36
【问题描述】:
在我的 react 应用 (create-react-app) 中使用 npm run build 时,
它无法编译并给我消息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')));
}
对我来说奇怪的是,即使在那里,它也不应该给我Cannot read property 'toLowerCase' of undefined,因为如果processe.env.CI 未定义,它应该将第一个条件语句读取为false-y,甚至不读取processe.env.CI.toLowerCase。
我也试过删除这整个代码部分,我得到了同样的错误。
我有另一个 react-app 并且 npm run build 命令工作得很好,所以我真的很茫然想知道我应该在哪里寻找答案。
【问题讨论】:
-
有趣。这是您整个项目中唯一出现的
toLowerCase? -
是的!奇怪的是我没有更改这个 build.js 文件,因为它是用 create-react-app 构建的。而且我之前在其他时候使用过它,在部署我的应用程序时,它从来没有出现过问题