求助, React 编译时遇到问题,非常离谱

2021-02-23 17:02:23 +08:00
 JustSong

项目是用 React Create App 创建的,编译的命令为:react-scripts build, 报错:

gitpod /workspace/blog/admin $ npm run build

> blog-admin@0.0.0 build
> react-scripts build

Creating an optimized production build...
Failed to compile.

./src/components/Users.js
  Line 109:3:  'fetchUserStatus' is not defined  no-undef
  Line 124:3:  'fetchData' is not defined        no-undef
  Line 140:3:  'addUser' is not defined          no-undef
  Line 144:3:  'deleteUser' is not defined       no-undef
  Line 157:3:  'editUser' is not defined         no-undef

离谱点在于:

  1. 我在本地( Windows 10 ),WSL ( Ubuntu 20.04 )以及服务器( Ubuntu 16.04 )上编译都是没问题的。
  2. 但是 Heroku 上部署的版本编译时就出现上述报错,Gitpod 上也是如此,docker 里构建也是如此。
  3. 之前的版本 Heroku 上是可以成功编译的,但是我现在用 Gitpod 切换到之前的版本,发现也不行了。。

项目地址是: https://github.com/songquanpeng/blog/tree/master/admin

注意是 admin 文件夹中的那个。

1684 次点击
所在节点    JavaScript
9 条回复
azcvcza
2021-02-23 17:10:00 +08:00
改一下 eslint 的配置?把警告等级调一下
shintendo
2021-02-23 17:13:34 +08:00
考虑一下文件名大小写问题?是否曾经存在过小写的 users.js ?
JustSong
2021-02-23 17:19:38 +08:00
@azcvcza 谢谢,解决了,加了 "no-undef": "off" 之后可以编译成功了,但是在不同的地方上编译有不一致的行为就离谱
JustSong
2021-02-23 17:20:06 +08:00
@shintendo 不是,我本地测试是没问题的
azcvcza
2021-02-23 17:24:37 +08:00
@JustSong 因为不同环境打包用的 eslint 默认可能不一样吧,看这个警告估计。
shintendo
2021-02-23 17:25:29 +08:00
@JustSong 我碰到过类似的问题,排查下来是因为 windows 大小写不敏感,linux 大小写敏感导致的
JustSong
2021-02-23 17:27:13 +08:00
@azcvcza 我确实没把 yarn.lock 给加到仓库中,是这个原因导致的不一致吗?
source
2021-02-23 17:27:15 +08:00
@shintendo #6 我也怀疑是这个
azcvcza
2021-02-23 17:35:48 +08:00
@JustSong 该锁还是要锁,不然哪天 update 之后,工程就起不来了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/755546

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX