写代码,真的要心态好
最近突然心血来潮,想学一下 Next.js。
因为看到许多用这个框架做出来的 Web 应用,都很好看,界面很美观。
所以就想着学一下 Next.js,以后要是有什么好点子,自己也能做出一个好看点的产品来。
通过搜索引擎找到了中文文档:https://www.nextjs.cn/learn/basics/create-nextjs-app/setup
结果第一步就进行不下去了。
1 | npx create-next-app nextjs-blog --use-npm --example "https://github.com/vercel/next-learn-starter/tree/master/learn-starter" |
按照文档执行上面的命令,一直报错,后面仔细排查,发现 https://github.com/vercel/next-learn-starter/tree/master/learn-starter 压根就访问不到,都 404 了。
这文档估计也是年久失修了。
当时我就想放弃了。
后面一想,还是看英文文档吧,虽然我英语不是很好,但看看文档应该也勉强还行。
于是找到了英文文档:https://nextjs.org/learn/dashboard-app
这个文档主要就是带你一步步把一个半成品的面板应用完善为成品。
一共有 16 小节。
英文文档倒是顺利很多了,虽然很多单词都看不懂,但是看代码就好了嘛。
而且每一步都有给出完整代码,或者会告诉你要在哪里加哪些代码,反正还是比较详细。
不过在 Chapter 15 的时候还是卡住了。
跟着文档来的,但是有两行代码一直报错。
1 | import bcrypt from 'bcrypt'; |
第一行:通过问 GPT,把 bcrypt 改成 bcryptjs 解决,本地是可以了,但是部署到 Vercel 不行。当时已经很晚了,一直没弄好,第二天去了公司,空闲时又开始研究这个,最后改成 const bcrypt = require('bcrypt');
终于解决。
第二行:直接参考前面章节的代码,改为使用 @vercel/postgres
,并修改对应调用代码,解决问题(其实直接安装这个依赖应该也行,因为报的错就是没有这个模块,但是我懒得尝试了)。
晚上下班回来,把 Git 上的代码 pull 下来,打算本地继续把未完成的部分完成,结果 const bcrypt = require('bcrypt');
这个写法在公司电脑和 Vercel 都没问题,但是在我自己电脑上却一直报错。
于是一直调试……
不停问 GPT……(其实我是想用 DeepSeek 的,但是老是服务器繁忙。)
但是还是一直不行。
最后我猜测,可能是我的 WebStorm 版本太低了?毕竟代码都是同一份,而两边的 NodeJS 也都早在之前就换成了一样的版本。
公司电脑是 2022 的,而我电脑还是 5 年前装的 2019。
搜索引擎上搜索了一下最新版破解激活教程。
按照教程,卸载旧版,安装新版,然后破解。
然而打开后还是提示要激活……
而且我发现我的 IDEA 也变成未激活了……
心态直接炸了好吗!当时啥也不想管了,想直接关机了!
后面喝了口水,冷静想了想,今天就先不弄了吧,但是还是要弄好,毕竟 WebStorm 和 IDEA 随时要用的。
于是今天就没再搞这些,而是来写博客了。
明天继续加油吧!
2025 年 2 月 11 更新。
关于 bcrypt 的问题,最后在 stackoverflow 上找到了解决办法。
需要先安装 node-gyp
。
1 | npm install node-gyp -g |
然后卸载再重新安装。
1 | pnpm uninstall bcrypt |
这里我是用 pnpm 安装的,会出现这么一个提示:Ignored build scripts: bcrypt. Run "pnpm approve-builds" to pick which dependencies should be allowed to run scripts.
1 | pnpm approve-builds |
按空格选中,在输入 y 回车即可。
重新运行发现可以了!
而我的 IDEA 和 WebStorm 也在根据教程重新清了一遍数据,然后重新破解后,成功激活了。