游客发表
实训第一周,训报我写的告心登录页面在浏览器里崩了。不是得体样式错位那种小打小闹,是训报点击“提交”按钮后整个表单直接消失,控制台报了一行红字:Uncaught TypeError: Cannot read property 'value' of null。告心我盯着屏幕愣了五分钟,得体才意识到自己把getElementById('username')写成了getElementByID('userName')——大小写和拼写全错。训报那一刻我明白了,告心web开发里没有“差不多”,得体浏览器不跟你讲情面。训报
这次实训做的告心是个小型电商后台,技术栈是得体HTML/CSS/JavaScript加一点Node.js。头三天我都在跟CSS较劲。训报老师演示时用Flexbox三行代码搞定导航栏居中,告心我照抄却怎么都不对。得体后来打开开发者工具,发现父容器高度是0——因为我忘了给ul设display:flex,却一直在调justify-content。这种错误很蠢,但找出来的时候特别爽。我开始养成习惯:每写一段样式,先按F12看盒模型,比盲调快十倍。
JavaScript部分才是真正的坑。异步请求那块,我一开始用fetch拿数据,然后直接console.log结果,打印出来永远是Promise { <pending>}。我以为是接口坏了,换了三个测试API,最后才搞懂要await或者.then()。更丢人的是,有次我写了个循环给按钮绑事件,结果所有按钮点击都返回最后一个索引值。查了资料才知道要用let而不是var,或者用闭包。这些知识点课上讲过,但自己踩一遍坑,记忆深得多。
后端部分我负责写一个简单的商品查询接口。用Express搭路由,连MySQL数据库。第一次跑npm start,报错ER_ACCESS_DENIED_ERROR,原来是我把数据库密码写在了代码里,但环境变量没配。后来改成process.env.DB_PASS,又忘了装dotenv。折腾半小时,接口终于返回了JSON。那一刻我觉得自己像个真正的开发者——虽然只是返回了三条假数据。
团队协作也让我长记性。我们用Git管理代码,我本地改完直接git push,结果冲突了。原来队友改了同一个文件的同一行。我硬着头皮学git pull --rebase,手动合并,差点把别人代码覆盖掉。后来我们约定:每天先拉再推,分支命名带上自己名字。这个小规矩省了至少三次吵架。
实训结束那天,我回头翻自己的提交记录,从第一天的“初始化”到最后的“修复商品删除bug”,一共47次commit。代码还是有很多可以优化的地方,比如那个登录页面至今没做表单验证,但至少它不崩了。我最大的收获不是学会了某个框架,而是养成了“先看控制台,再猜原因”的条件反射。浏览器不会骗你,报错信息里藏着答案,只是你得愿意读。
如果非要给建议,别一上来就追求完美架构。先把功能跑通,再重构。我见过同学花两天设计目录结构,结果一个接口都没写。Web开发是门手艺活,敲的代码多了,手自然就顺了。现在我看到一个网页,会下意识想它的DOM结构怎么组织,事件怎么绑定——这大概就是实训留下的后遗症。
友情链接