day6 nest商业项目初探·二(java转ts全栈/3R教室)

2024-04-10 14:28

本文主要是介绍day6 nest商业项目初探·二(java转ts全栈/3R教室),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

  • 背景:今天看3r教室开放的这个项目 【美国 | 3.6w】TS全栈:Goflashdeals代购返利网站 (2022.09) - 3R酷 | 爱自由,不打工!一个属于3R会员的社区 (3rku.com)
  • 省流:web程序起来了,admin没起来,学到了node版本切换的技巧

  • 项目结构同上一个:web前端,api后端,admin后台

  • 前端启动:单独启动前端还是起不来,得先启后端,env配置上后端接口地址。
    1711892462293.png

  • 后端启动:具体是什么启动指令还得看package.json,有run dev的,也有 start:dev的

  • 启动报错1:没用过的引入也报错?检查这么严格?注释掉吧
    1711892833657.png

  • 后端配置:这里遇到一个坑,数据库和redis配置在env的里面并不全,于是我在config文件里配置了,启动连接远程数据库却一直报错Access denied,反复检查ip密码没问题,于是怀疑是网络安全策略之类的问题,折腾半天。(其实是env里面的密码忘改了,我检查的是config文件里的代码,但一直用的env里面的密码
    在这里插入图片描述1711895817947.png

  • 为了验证是否是网络安全限制导致的问题,专门本地还建了一个mysql,Windows10 MYSQL Installer 安装(mysql-installer-community-5.7.19.0.msi) | 菜鸟教程 (runoob.com)

    • 注意:因为程序在wsl环境中,相当于对外访问win上的mysql,需要吧root网络限制放开,默认是localhost,不然会报错 not allowed to connect
      1711950815359.png
  • 数据库初始化:这个也没数据库初始化脚本,通过数据迁移命令pnpm cli dbmr 3R编码 | 数据迁移功能的实现 (wangc.site)

  • 迁移后启动成功(控制台输出有点问题,env里的APP_URL也要改下)
    1712033325467.png

  • 再启动前端:Hydration若干个相关错误,看起来比较难;还有个403的错误,没能解决(这是nest项目特有的报错方式吧,直接报错到页面上了,应该是dev启动,方便调试问题的)

    • 但是堆栈信息看不懂,没法定位代码?按照java来说按图索骥就能找到问题代码,这个全报的是node_moudle依赖里的错误?又没办法改吧?
      1712039780180.png
  • 但也不一定影响项目运行?不用dev启动了,直接build之后start,倒是不报错了,但这样子没图片呀?可能是没数据吧,接下来再启动admin管理端,添加下数据试试吧
    1712042269957.png

  • admin管理端启动:配置下参数,install显示node要用16的,用pnpm env use --global 16.10.8 启动后还是这个错误?
    在这里插入图片描述

  • node版本切换:检查了下node版本并没有切换成功?用nvm的方式试试吧
    在这里插入图片描述

  • linux 上使用 nvm - 知乎 (zhihu.com) 按照nvm方式试试,主义得先把之前安装的node给删掉, 不然也没法切换成功,一直是之前的node版本(因为配置环境变量了),成功谢欢到16之后,发现pnpm的版本又和node不匹配了。。
    在这里插入图片描述

  • 继续切换pnpm的版本 pnpm 版本切换 - lessfish - 博客园 (cnblogs.com)

  • 然后dev启动,发现还有报错 【goflash】admin项目启动失败 - 3R酷 | 爱自由,不打工!一个属于3R会员的社区 (3rku.com)

  • (http://wangc.site/noteImages/1712047207190.png)
    在这里插入图片描述
    1712052274044.png

  • 试了一些方法后,install成功了,启动又报其他错。。
    在这里插入图片描述

  • 卸载webpack,重装了好几次。又提示什么加密算法出现错误goflash-admin启动报错 - 3R酷 | 爱自由,不打工!一个属于3R会员的社区 (3rku.com)
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

  • 启动了,但还是报错,加载不出来。。。放弃了再换个项目吧
    在这里插入图片描述

  • 另外,其中因为一直install了很多次,wsl空间涨的特别厉害,并且删除了也没有释放,导致c盘满了。。。于是放到其他盘了 WSL迁移到D/E盘(共需六步完成)_wsl移动到d盘-CSDN博客;

    • linux - 解决删除文件后 WSL2 磁盘空间不释放的问题 - 麻瓜の魔法 - SegmentFault 思否

这篇关于day6 nest商业项目初探·二(java转ts全栈/3R教室)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/891314

相关文章

Java中流式并行操作parallelStream的原理和使用方法

《Java中流式并行操作parallelStream的原理和使用方法》本文详细介绍了Java中的并行流(parallelStream)的原理、正确使用方法以及在实际业务中的应用案例,并指出在使用并行流... 目录Java中流式并行操作parallelStream0. 问题的产生1. 什么是parallelS

Java中Redisson 的原理深度解析

《Java中Redisson的原理深度解析》Redisson是一个高性能的Redis客户端,它通过将Redis数据结构映射为Java对象和分布式对象,实现了在Java应用中方便地使用Redis,本文... 目录前言一、核心设计理念二、核心架构与通信层1. 基于 Netty 的异步非阻塞通信2. 编解码器三、

SpringBoot基于注解实现数据库字段回填的完整方案

《SpringBoot基于注解实现数据库字段回填的完整方案》这篇文章主要为大家详细介绍了SpringBoot如何基于注解实现数据库字段回填的相关方法,文中的示例代码讲解详细,感兴趣的小伙伴可以了解... 目录数据库表pom.XMLRelationFieldRelationFieldMapping基础的一些代

一篇文章彻底搞懂macOS如何决定java环境

《一篇文章彻底搞懂macOS如何决定java环境》MacOS作为一个功能强大的操作系统,为开发者提供了丰富的开发工具和框架,下面:本文主要介绍macOS如何决定java环境的相关资料,文中通过代码... 目录方法一:使用 which命令方法二:使用 Java_home工具(Apple 官方推荐)那问题来了,

Java HashMap的底层实现原理深度解析

《JavaHashMap的底层实现原理深度解析》HashMap基于数组+链表+红黑树结构,通过哈希算法和扩容机制优化性能,负载因子与树化阈值平衡效率,是Java开发必备的高效数据结构,本文给大家介绍... 目录一、概述:HashMap的宏观结构二、核心数据结构解析1. 数组(桶数组)2. 链表节点(Node

Java AOP面向切面编程的概念和实现方式

《JavaAOP面向切面编程的概念和实现方式》AOP是面向切面编程,通过动态代理将横切关注点(如日志、事务)与核心业务逻辑分离,提升代码复用性和可维护性,本文给大家介绍JavaAOP面向切面编程的概... 目录一、AOP 是什么?二、AOP 的核心概念与实现方式核心概念实现方式三、Spring AOP 的关

详解SpringBoot+Ehcache使用示例

《详解SpringBoot+Ehcache使用示例》本文介绍了SpringBoot中配置Ehcache、自定义get/set方式,并实际使用缓存的过程,文中通过示例代码介绍的非常详细,对大家的学习或者... 目录摘要概念内存与磁盘持久化存储:配置灵活性:编码示例引入依赖:配置ehcache.XML文件:配置

Java 虚拟线程的创建与使用深度解析

《Java虚拟线程的创建与使用深度解析》虚拟线程是Java19中以预览特性形式引入,Java21起正式发布的轻量级线程,本文给大家介绍Java虚拟线程的创建与使用,感兴趣的朋友一起看看吧... 目录一、虚拟线程简介1.1 什么是虚拟线程?1.2 为什么需要虚拟线程?二、虚拟线程与平台线程对比代码对比示例:三

vite搭建vue3项目的搭建步骤

《vite搭建vue3项目的搭建步骤》本文主要介绍了vite搭建vue3项目的搭建步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学... 目录1.确保Nodejs环境2.使用vite-cli工具3.进入项目安装依赖1.确保Nodejs环境

Java中的.close()举例详解

《Java中的.close()举例详解》.close()方法只适用于通过window.open()打开的弹出窗口,对于浏览器的主窗口,如果没有得到用户允许是不能关闭的,:本文主要介绍Java中的.... 目录当你遇到以下三种情况时,一定要记得使用 .close():用法作用举例如何判断代码中的 input