- 背景:准备先找个nestjs模板项目(kuizou大佬的nest-vben-admin)看看大体情况,但发现win下还是问题还真挺多,受不了了今天一定要把wsl环境安装好。。。
- 比如如下明显就是win环境导致的错误,估计wsl下应该没问题
- wsl环境安装:之前因为
wsl --install
一键安装指令没成功,解决不了。这次干脆用其他方法安装吧。参考:旧版 WSL 的手动安装步骤 | Microsoft Learn;Windows 10 安装配置WSL2(ubuntu20.04)教程 超详细_win10安装wsl2-CSDN博客- msi文件安装报错,解决方法:Windows10 安装软件时提示“ the error code is 2503/2502”错误解决办法_安装程序在安装此程序包时遇到了错误2503-CSDN博客
- 终于安装成功wsl(ubantu)了,
- zsh npm nodejs等环境都照着文档安装下。。。3R编码 | 3R教室使用手册 (3rcd.com)
- 安装完后,发现一个问题:wsl虚拟机环境和win上的vscode代码不互通,所以vscode和代码都需要在虚拟机上运行??
- 查阅后发现,代码在虚拟机上即可,安装个wsl插件远程访问,并且win上文件系统也可以操作wsl上的文件
\\wsl$
用WSL2开发项目,代码放哪里? - 知乎 (zhihu.com)) - 在vscode上安装wsl插件,又把项目文件放到了wsl上(默认c盘,install后还挺大的),但vscode没有读写文件权限,需要设置下WSL在Vscode上写文件权限不够_vscode终端中怎么更改文件夹的权限-CSDN博客(username是wsl的用户名,不是win的)
- 还有个问题是wsl里用127.0.0.1:6379是连接不上windows主机上启动的redis的,需要在wsl中获取下主机地址,改成ip
ip route show | grep -i default | awk ' { print $3}'
- nest-vben-admin项目启动
- 按照文档
pnpm run dev
一键启动,不用分别启动前后端,方便 - server启动报错TypeError: JwtStrategy requires a secret or key
- 按图索骥,找来找去,发现apps\server.env.development被bak掉了,解除后可以了(这个类似springboot里的application配置文件)
- 然后里面需要连redis和数据库,起一个redis,连一下mysql,初始化脚本在
apps\server\sql\nest_vben_admin.sql
,然后启动成功了 - 看下项目结构,前后端都在一个项目;后端nestjs还是基本的三层架构加实体类,持久层用的typeorm,逻辑和springboot这类都也差不多
- 部署也没问题了,打包成功了,wsl下就是不错,之后需要编译项目的优先用wsl吧
- 按照文档